Interesting article giving the perspective of someone who has been away from TiddlyWiki for a few years:
Way back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works!
Finding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.
Cuaderno de tesis basado en TiddlyWiki
Este es un ejemplo de cuaderno de tesis, construido sobre TiddlyWiki 5.0.8-beta.
TiddlyWiki es un gran programa creado por Jeremy Ruston. Te permite, entre otras cosas, tomar notas, organizar ideaas, guardar información y ver todas tus cosas de la forma que queres. Es una herramiente increíblemente flexible que puedes adaptar para que satisfaga casi todas tus necesidades.
Este TiddlyWiki ha sido adaptado para servir de cuaderno de notas de filosofía, centrado en autores, libros y artículos, conceptos y teorías, además de notas personales. Lo uso junto con Zotero, que es un programa de bibliografía. Ambos son proyectos gratuitos de código abierto. TiddlyWiki se puede descargar de https://tiddlywiki.com
A desktop application for TiddlyWiki, running on Windows.
https://lamusia.github.io/#ATWiki
TiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.
buggyj has created several useful plugins, including a WYSIWYG HTML editor, a configurable calendar and tag lists with draggable ordering.
A collection of customisations and macros from Danielo Rodriguez.
http://braintest.tiddlyspot.com/
This is my personal tiddlywiki file for testing.
Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the comunity gave me can came back to the comunity again.
Task & Delegation Tracking, Meetings & Agenda Items, Project Roles, Progress & Status Updates, Reference Items, Tickler Calendar, Conversation Logging, Book Notes & Library, and More!
Cardo is a standalone, browser-based tool that can be used as a simple task manager, or as a complex Project Management system (and indeed, I do use it this way in my daily work) as well as a fully Wiki-ized personal knowledge store. It runs completely independently in the browser, even without an Internet connection, making it possible to carry around on a USB stick, or to use on the morning commute.
An adaptor to enable TiddlyWiki to sync changes with a CouchDB database.
https://github.com/wshallum/couchadaptor
CouchDB sync adaptor for TiddlyWiki 5. Requires TiddlyWiki >= 5.1.2.
Works in limited testing. Not sure how well it handles conflicts.
A guide to creating a baby journal with TiddlyWiki.
http://a-penguin-in-redmond.blogspot.co.uk/2014/02/creating-baby-journal-with-tiddlywiki-5.html
Keeping a journal about your baby is fun. It allows you to keep track of those events in your baby's life and development that are most important to you, and to tell them in your own words. [...]
There are plenty of online services that can help to keep such a diary, but you need to have an internet connection to access them, and you have to trust them to keep your data safe.
A TiddlyWiki plugin for kanban-like organization in the style of Trello™ using boards, lists, and cards.
Dynamic Tables is a set of macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.
A plugin that allows to encrypt your tiddlers individually Danielo Rodriguez.
http://danielorodriguez.com/TW5-EncryptTiddlerPlugin/
Advantages:
- You can specify a different password for each tiddler if you want.
- You don't have to encrypt your whole wiky.
- If you forget your password, you only lose a tiddler.
- It's possible to edit the tiddler content , tags and fields except the encrypt field after encryption.
- [...]
An extension for Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 fallback saver, making it almost as easy to use as TiddlyFox. The workflow is intended to work out of the box, without configuration.
https://github.com/pmario/file-backups which contains links to the documentation and introduction video(s).
A chrome version is planned!
This wiki gives examples for various filters and their use in the list widget
http://tobibeer.github.io/tw/filters/#Filter%20Examples
This wiki gives examples for various filters and their use in the list widget. A good starting point to understand what filters yield which results also is test-filters.js.
An adaption of the "Ghostwriter" theme for TiddlyWiki.
https://ibnishak.github.io/ghostwriter/
Ghostwriter is a popular, minimalist and mobile responsive theme for the blogging platform ghost. This is an adaptation for TiddlyWiki.
Creates bubble maps of Biblical texts.
http://giffmex.org/gospels.bubbles.html#Gospels%20Bubbles
This TiddlyWiki, which is still under construction, has several features that together make it lightning fast to find passages, types of passages, themes, people, places and images in the New Testament Gospels. The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:
- The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:
- See how the different types of passages are distributed throughout each Gospel.
- Hover over passages to see the verses and titles.
- Click on a passage to open it and see the themes and other data it mentions.
- The themes by passage indexes are lists of the passages in each Gospel, followed by the themes and other data found in the passage. Clicking on a theme calls up a list of all the passages that mention that theme.
- The indexes of themes contain lists of links to each theme, person, group, place and image. Clicking on a theme calls up a list of all the passages that mention that theme.
- There is a search window hidden in the right hand menu. Use the search window to find passages quickly, by typing things like sower or paralytic. Click the arrows in the upper right of the screen to open the menu and search.
An adaptation of the TiddlyWiki powered GTD® system formerly known as MonkeyGTD for TiddlyWiki version 5.
GSD5 is a Getting-Thing-Done tool for TiddlyWiki5 based off the mGSD classic TiddlyWiki.
A collection of helpers by Thomas Elmiger, among them a tweet button macro, a text-stretch solution, a snippet extraction macro and a tiddler that installs a scroll-to-top button via drag-and-drop.
Quick Extensions for TiddlyWiki 5 – […] As I take from the community, I am happy if I can give back. You can use my stuff to do whatever you like, but remember to save a back-up first.
Thomas
A guide in Russian to creating an online shop with TiddlyWiki. No serverside code is needed, instead orders are handled by Disqus.
Tony Ching's quick guide for sharing TiddlyWiki with Google Drive.
https://googledrive.com/host/0B51gSXixfJ2Qb0I4R2M4MWJVMlU
Anyway your self-contained a non-linear personal web notebook can be hosted on Google Drive, a free cloud service from Google.com. Because TiddlyWiki5 now supports the Stanford Javascript Crypto Library (SJCL), you can encrypt your content from prying eyes (excluding the NSA of course)
An explainer about Twederation, a system of sharing information between TiddlyWiki instances.
TWederation is a system for sharing information between participating TiddlyWikis without using a client-server model. The link here points to a tiddler that gives more details. This particular implementation works something like an online forum. On the rest of the site, you can follow discussions by the developers and collaborators occurring within the Twederation "network" itself.
An extensive collection of hints and tips from Jed Carty.
http://inmysocks.tiddlyspot.com
I made this so that some of my friends with absolutely no coding experience could use some of the better features of TW5 without having to learn much. I am hopefully going to continue updating it as I learn new things. There isn't really anything here that isn't available in plenty of other places, but I figured that since I spent a while putting it together and people keep saying that TW needs more documentation I would post it here.
A step by step guide to running TiddlyWiki on a CentOS Virtual Private Server.
http://www.rosehosting.com/blog/install-and-run-tiddlywiki-on-a-centoos-6-vps-using-nginx/
In this tutorial we will guide you through the steps of installing and running TiddlyWiki on a CentOS 6 VPS.
We will also install and configure Nginx as a reverse proxy, so you can run TiddlyWiki behind Nginx.
A complete online shop made in TiddlyWiki!
A collection of extensions by @malgam
http://malsandbox.tiddlyspot.com
The "loadnew" plugin provides the JavaScript module $:/plugins/malgam/loadnew/loadnew.js that implements an incremental load command for Tiddlywiki 5.
The javascript code is based on the built-in module $:/core/modules/commands/load.js that loads tiddlers from a Tiddlywiki file into a node.js Tiddlywiki instance. This command loads all non-system tiddlers, irrespective of whether they have been modified since last loaded. As a result, all tiddlers in the node.js tiddlers folder will end up with a new modification date.
In contrast, the loadnew command only loads tiddlers that either don't already exist in the tiddlers folder, or have a newer modified date than the existing tiddler.
With a backup strategy that uses a file system snapshot process to preserve historical versions of tiddlers, the loadnew command minimises the sizes of the resulting snapshots.
Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki.
http://mathcell.tiddlyspot.com/
Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki. Additional abilities allow it work as a general math engine.
A Spanish guide to using TiddlyWiki on Android.
http://3palmeras.wordpress.com/2014/11/05/microblogging-con-tiddlywiki/
Tiddlywiki software is prodigious based on javascript which is capable of holding a notepad that can be edited with Internet Explorer or function as a full blog, contained in a single file.
Translation by Google Translate
An adaption of the "Moments" theme for TiddlyWiki.
http://tesseractmoments.surge.sh/
Moments is a beautiful free and responsive theme available for wordpress from here: http://www.s5themes.com/theme/moments/. This is an adaptation of the same for TW5 platform. All the design credits goes to the site and the original designer. If TW5 is going to be here for 25 years, might as well suit up.
A terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the muuri plugin by Uwe Stuehler.
NoteSelf is your personal, private, customizable, Evernote-like experience. You want cloud? Fine! You don't? Fine too! It's all yours, It's your decision! Why not be a bit selfish?
NoteSelf is the perfect place to store your ideas, notes, thoughts, tips, tricks, recipes... whatever you want to put into it! NoteSelf will store, index, and make it easily searchable, so you will find it instantly whenever you need it!
You already know and love Evernote, we know it. It is comfortable, it syncs, has search capabilities... Wow, it's almost perfect, but what about:
- Privacy - Everything is stored on the Evernote's servers!
- Customization - If you don't like the interface of Evernote, there's nothing you can do
NoteSelf is built on top of TiddlyWiki, a powerful, free, highly customizable and open-source personal wiki. We took the best of it, it's powerful customization system, and mixed it with one of the best embedded databases available, PouchDb, for bringing the synchronization capabilities you need.
A quick guide to using TiddlyWiki (written in German)
http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen
Those using multiple different computer platforms (if only PC and Android) knows for certain: You would like to sync notes across computers and thereby be independent of any apps or services. I am concerned at any rate so and so I am constantly looking for the perfect solution.
With TiddlyWiki I found it mostly. As the name suggests, it TiddlyWiki is a Wikisystem. In contrast to all other wikis, TiddlyWiki is a single HTML file that runs in the browser and thus can be used on all modern operating systems. And because there is only one file, it can be very easily via the well-known cloud services (Dropbox, Google Drive, ownCloud) or synchronized with FTP or used on a USB stick.
(Translation from German by Google Translate)
Intérprete rápido de de Forth para el Commodore PET, escrito en lenguaje ensamblador 6502. El TiddlyWiki que contiene documentación del programa se genera automáticamente de la fuente: ver: https://github.com/chitselb/pettil.
http://chitselb.com/files/tiddlypettil.html
Los objetivos del proyecto son, sin ningún orden en particular:
- hacer un Forth que funcione en mi Commodore PET 2001
- divertirme
- desarrollar mi pericia con el "6502 assembly golf"
- encontrar otra gente interesada en este proyecto
An extension for Google Chrome and Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 fallback saver, making it almost as easy to use as TiddlyFox once it is set up correctly.
Detailed description of setting up TiddlyWiki on Node.js on OS X.
http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x
For a new job, I decided to set up a personal wiki to keep notes. I wanted to keep it simple, meeting these requirements:
- All the data is in a Dropbox folder (so it can be automatically synced between machines)
- It must support Markdown syntax
After looking at the options, I settled on TiddlyWiki. I've used "classic TiddlyWiki" before, and liked its simplicity, but I was always a little annoyed with the weird steps you have to go through to save changes. The new version of TiddlyWiki includes support for running it as a real HTTP server, so you can use it just like an online wiki.
But it took me a couple of hours to figure out how to set that up. The TiddlyWiki documentation is not clear ("not clear" is a euphemistic way of saying "terrible"). So, I've written up these instructions in the hope it will spare somebody else all the frustration I had.
A gamers guide to using TiddlyWiki.
http://helugame.wordpress.com/2013/09/07/shining-ark-7-using-tiddlywiki/
I’ve been using TiddlyWiki for this game mainly to record the monsters’ locations and the items that they drop. This is so that when I need a certain item to upgrade/create weapons, I can quickly look it up; which monsters drop it and which quests have those monsters.
As I play the game, as I encounter new information, I just input them into my Shining Ark TiddlyWiki. It’s like I’m building a wiki from scratch. The reason why I don’t just use online wikis is that 1) it’s too easy to get spoiled and 2) sometimes online wikis provide too much information (who cares about the non-gameplay related descriptions that can be found in the game, etc).
A collection of plugins by Stephen Kimmel, including a number of additional editor toolbar buttons.
http://skplugins.tiddlyspot.com/
In keeping with the general spirit of the TiddlyWiki community, ie, you develop something useful and/or potentially interesting you share it with others, I'm sharing some of the plugins I've developed to go with the new Editor Toolbar. You'll find them and a more extensive discussion of what each does at http://skplugins.tiddlyspot.com/
Slides and Stories is a repository of the tools to optimize TW for scientific research and for presenting and publishing results.
http://slidesnstories.tiddlyspot.com
SlidesnStories
...is a tool to save and reload sets of Tiddlers. This is already working, The aim is to develop a mechanism to transform these into instant slideshows.
MetaTabs
is a tool which gives you the possibility to attach and show specific information in tabs at the bottom of each Tiddler: ideas, notes, tasks, stories and presentations, comments, annotations and footnotes.
It is inspired by MagicTabs and Tiddlyscholar by Alberto Molina Pérez, which are very elaborated tools that alas do not seem to be in active development any more. I wanted to change the behaviour in some ways. For example I wanted show tabs only if they have content....furthermore there is
- an export-plugin,
- a footnote-plugin,
- and a plugin to rearrange Tiddlers in the StoryRiver
An enormous collection of tips beautifully curated by Tobias Beer. It is actually a collection of sites, with sub-sites dedicated to topics such as filtering (http://tobibeer.github.io/tw/filters/).
http://tobibeer.github.io/tb5/
A collection of references and sandbox for testing concepts around TiddlyWiki 5...
A Kanban implementation for TiddlyWiki with a familiar look and feel (see the demo).
https://ibnishak.github.io/Tesseract/projects/tekan/Tekan.html
This is Tekan, a TW based kanban. The easiest way to know tekan is to use it. So let us begin, shall we?
TiddlyServer is a special purpose Desktop app, designed to facilitate managing multiple instances of TiddlyWiki running as a server. It does not require internet acess to access the wikis.
https://github.com/mklauber/TiddlyServer/releases/
TiddlyServer can import both TiddlyWiki files and TiddlyFolder wikis. For each wiki, you specify a prefix to serve it with and the source to import from. It will copy the wikis to its own internal store and begin serving them up at http://localhost:8080/{prefix}/. The export button for each wiki will convert it to a single file wiki.
Reaction to TiddlyWiki5 from the translator of the German edition of TiddlyWikiClassic.
http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/
There is little software that can still inspire me so even after years, as on the first day. This includes TiddlyWiki, the "pocket-wiki". The latter is because the Wiki completely fits into an HTML file, and this HTML file brings everything - JavaScript program logic, CSS appearance and the entire Wiki content as stored records. So a TiddlyWiki file is then sometimes happy times some megabytes in size, but just has the unbeatable advantage that it works just as fast file created locally in a variety of browsers.
(Translation from German by Google Translate)
Edición de una versión anterior de TiddlyWiki, adaptada para la toma rigurosa de notas académicas.
http://tw5.scholars.tiddlyspot.com/
TiddlyWiki for Scholars es una customización personal de TiddlyWiki 5.0.13-beta que hice para tomar notas de lectura, pero que puede servir también a otros fines La idea subyacente en esta adaptación es la de poder crear y mostrar información relacionada con el tiddler que se visualiza, sin tener que salir de él para hacerlo.
A collection of tips and guides in French, introduced by this blog post:
http://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29
Ce guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain
A Knowledge Network about TiddlyWiki.
http://confocal-manawatu.pbworks.com/w/page/113574373/TiddlyWiki
Interconnected with the visual taxonomy at every node: http://debategraph.org/Stream.aspx?nid=457381&vt=bubble&dc=focus
TWKN will be transferred into TWederation/TiddlyMap format as soon as I am convinced in reliable and secure versioning and multi-user operation in TW format. Your assistance and support would be highly appreciated.
Notes and tips by a developer working on writing TiddlyWiki plugins – including TWExe, a widget for running Windows scripts and executables.
A collection of articles covering integration with Fargo, Font Awesome and Google Calendar, and tips for managing task lists.
http://blog.jeffreykishner.com/tiddlywiki/
I have become a regular user of TiddlyWiki and have become so accustomed to using Font Awesome icons in Fargo that I wanted to incorporate the icons into my wikis as well.
A topical index of known plugins, tutorials, themes, and other helpful tools for TiddlyWiki.
https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM
Some of the topics indexed so far include:
Dutch blog post about TiddlyWiki
https://breinbout.wordpress.com/2014/11/26/tiddlywiki/
I'm allergic to websites that are highly dependent on JavaScript. I think that JavaScript has many useful applications to add functionality to a site, but content needs to be visible if JavaScript is switched off. I use the NoScript extension for Firefox and surf with pleasure over the Internet without spontaneous things happen that I do not give permission. I love JavaScript on a short leash. More crazier maybe I'm so excited about TiddlyWiki.
(Translation from Dutch by Google Translate)
An extensive collection of tips and resources for users of TiddlyWiki in Japanese.
http://bacchus.ivory.ne.jp/bourbon/
TiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。
TiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。
Chris Hunt's detailed developer tutorials for getting started with writing widgets for TiddlyWiki.
These pages document aspects TiddlyWiki5 programming, sharing "lessons learned" to help developers to get started with TiddlyWiki5 customization and extension.
There are currently two articles in this wiki:
- A Simple Widget
- A More Complex Widget
A TiddlyWiki5 forum on Reddit.
https://www.reddit.com/r/TiddlyWiki5/
A TiddlyWiki5 forum on Reddit. As of 2016, it claims to have the most up-to-date list of plugins available for TW5.
Huge collection of customisations and tweaks from Ton Gerner.
http://tongerner.tiddlyspot.com/
I am a longtime user of TiddlyWiki Classic and still use it daily since you can't do everything in TiddlyWiki 5 (yet) ;)
I started experimenting with TW5 at the end of September 2013 (alpha10). Since I missed a few things in the layout I got used to in TiddlyWiki Classic 1, I started with modifying the layout of TW5. To share my knowledge, I made a few guides about these 'modifications'. The guides started as a non-linear personal web notebook (yeah, the subtitle of TiddlyWiki!). I started experimenting with layout things and used TW5 to document my experiments.
A wealth of hints, tips and notes about using TiddlyWiki on Node.js:
http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html
TiddlyWiki is different from other wikis because of its principle of dynamically customizeable "storyline" based on tiddlers as basic units of information. That is, the user "composes" their own version of the webpage by clicking on tiddler links, which add tiddlers to the page in order to compose a storyline.
The Node.js implementation in TiddlyWiki5 adds all the advantages of flat-file markup language based type of site. This makes TiddlyWiki an excellent alternative to flat-file based CMS/webpage/blog authoring systems for the web.
Also very cool is the treatment of tags as menus everywhere.
Timimi is a Web Extension and executable for Firefox, Chrome and Chromium that allows it to save standalone TiddlyWiki files.
https://github.com/ibnishak/Timimi
This is an addon using native messaging, essentially handing over the contents to a webextension host (executable) which does the actual saving. Once installed, you can save the standalone TW from anywhere in your hard drive without any more interactions, like the original Tiddlyfox addon.
Stephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.
http://tw5magick.tiddlyspot.com/
Some things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the "magic" tricks one can do with TiddlyWiki.
Tips and guides for using TiddlyWiki.
http://techlifeweb.com/tw5tribalknowledge.html
I never used Node.js until a couple weeks ago when I wanted to try a TW5 installation on Node and expand my knowledge a bit. I figured someone else may be in the same boat so I wrote it all down
An alternative LaTeX plugin for TiddlyWiki5. It supports a wider set of LaTeX commands than KaTeX, though not as extensive as MathJax
http://tw5-texzilla.tiddlyspot.com
This plugin provides LaTeX support in TiddlyWiki5, using the TeXZilla latex parser to generate MathML.
Only Firefox and Safari support MathML at the moment, so the plugin is only useful if you're using one of these browsers. It might be possible to combine this plugin with MathJax to convert MathML to something that other browsers can understand, e.g. HTML+CSS, but I haven't tried this.
A collection of TiddlyWiki resources from Mario Pietsch, with a focus on cloud deployments. Mario also maintains the German translation of TiddlyWiki.
My name is Mario Pietsch from Austria. I'm living near Salzburg.
This page, will be the portal to my TiddlyWiki, TiddlyWeb related content.
A guide (in French) to using TiddlyWiki on the BiblioBox, a variation of the PirateBox mobile communication and file sharing system.
http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki
I've known TiddlyWiki since its beginning in 2004. For personal or professional needs, I used it regularly for notepad staff in 2007 and 2012. But I admit I ignored the tool during the past two years. And then I said yesterday: but why not put TiddlyWiki on a BiblioBox? Because it is a single HTML file with javascript. In addition I knew the existence of a server version for saving online amendments.
Hand optimised from a translation by Google Translate
A collection of references for testing concepts around TiddlyWiki 5...
This is PMario's playground with ramblings about TiddlyWiki and related stuff.
It basically is a "jump off" page to various TiddlyWiki sites, that show editions, themes and plugins.
Matabele's stylish and clean system for personal task management.
This is my work in progress version of TW5, incorporating various features and ideas as and when they intrigue me. To grab any feature you may wish to try, drag the listed tiddlers across to the dropzone of an empty TiddlyWiki 5.0.10-beta
An experiment to embed interactive 3D graphics within TiddlyWiki by Jamal Wills. It is based X3DOM, an open source JavaScript library.
TiddlyWiki es una herramienta increíblemente flexible y versátil, concebida y construida de forma muy distinta a la mayoría de software. Esto puede hacerla difícil de comprender hasta ese momento en que algo hace clic y se convierte en una extensión natural de tu cerebro.
Para empezar por lo básico, TiddlyWiki es una aplicación web para la toma de notas que puedes descargar libre y gratuitamente, que puedes guardar donde quieras y adaptar del modo que desees. Úsala para escribir, organizar y compartir notas de un modo que los procesadores de texto y otras herramientas para tomar notas no pueden.
TiddlyWiki está diseñada para estructurar contenidos de modo no lineal valiéndose de StoryLists, etiquetas, enlaces y otras características. Puedes organizar y recuperar tus notas de la manera que mejor se adapte a tu forma de pensar, en lugar de sentirte encadenado a una estructura predeterminada de organización.
TiddlyWiki is designed to be non-linear, structuring content with stories, tags, hyperlinks, and other features. You can organise and retrieve your notes in ways that conform to your personal thought patterns, rather than feel chained to one preset organisational structure.
Puedes usar TiddlyWiki tanto online como sin conexión de red. Como archivo único que consultas y editas con cualquier navegador web, o puedes utilizarlo como una poderosa aplicación de Node.js, que guarda por separado cada una de tus notas.
¿Cómo hacer que TiddlyWiki trabaje para ti? Te recomendamos empezar consultando la documentación introductoria que se muestra más abajo y echar un vistazo al índice que tienes a tu disposición en la barra lateral.
También puedes seguir estas sencillas instrucciones e ir descubriendo por ti mismo a partir de ahí.
También hay tutoriales en video (en inglés)
Información sobre quiénes y cómo hacemos TiddlyWiki:
A plugin to integrate the Ace editor into TiddlyWiki.
Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).
TiddlyWiki no sería posible sin el constante apoyo de la comunidad de TiddlyWiki. Su atención y feedback constante han hecho posible tener una idea precisa de qué se espera de este producto y su pasión nos ha enseñado que la inversión en ella merece la pena.
TiddlyWiki incorpora código de los siguientes proyectos OpenSource:
...y materiales de estos otros proyectos:
The action-createtiddler widget is an action widget that creates new tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.
There are several differences from the tm-new-tiddler message:
The action-createtiddler widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $basetitle | The initial title that will be attempted. If a tiddler with that title already exists, then a numerical counter is added to the title and incremented until it is unique |
| $savetitle | A text reference identifying a field or index into which the title of the newly created tiddler will be stored after it is created |
| $timestamp | Specifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no" |
| {any attributes not starting with $} | Each attribute name specifies a field to be created in the new tiddler |
New button caption: <$edit-text tiddler="$:/state/new-button-caption" tag="input" default=""/>
<$button>
<$action-createtiddler $basetitle="Homemade Button" tags="$:/tags/PageControls" text={{$:/state/new-button-caption}}/>
Create non-functional page control button
</$button>Este es su aspecto:
New button caption:
The action-deletefield widget is an action widget that deletes specified fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.
The action-deletefield widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $tiddler | The title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler) |
| $field | Optional name of a field to delete |
| {any attributes not starting with $} | Each attribute name specifies a field to be deleted. The attribute value is ignored and need not be specified |
Here is an example of a button that deletes the caption and tags fields of the current tiddler:
<$button>
<$action-deletefield caption tags/>
Delete "caption" and "tags"
</$button>Este es su aspecto:
Here is an example of a button that deletes the modified date and tags fields of the tiddler HelloThere:
<$button>
<$action-deletefield $tiddler="HelloThere" modified tags/>
Delete "modified" and "tags" from ~HelloThere
</$button>Este es su aspecto:
Here is an example of a button that uses the optional $field attribute to delete the text field of the tiddler HelloThere:
<$button>
<$action-deletefield $tiddler="HelloThere" $field="text"/>
Delete text from ~HelloThere
</$button>Este es su aspecto:
The action-deletetiddler widget is an action widget that deletes tiddlers. ActionWidgets are used within triggering widgets such as the ButtonWidget.
There are several differences compared to the WidgetMessage: tm-delete-tiddler:
The action-deletetiddler widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $tiddler | Optional title of the tiddler to be deleted |
| $filter | Optional filter identifying tiddlers to be deleted |
Here is an example of a button that deletes the tiddler HelloThere:
<$button>
<$action-deletetiddler $tiddler="HelloThere"/>
Delete "~HelloThere"
</$button>Este es su aspecto:
Here is an example of a button that deletes all tiddlers tagged TableOfContents:
<$button>
<$action-deletetiddler $filter="[tag[TableOfContents]]"/>
Delete tiddlers tagged "~TableOfContents"
</$button>Este es su aspecto:
The action-listops widget is an action widget that manipulates user lists in any field or data index. ActionWidgets are used within triggering widgets such as the ButtonWidget.
The action-listops widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $tiddler | The title of the tiddler whose lists are to be modified (if not provided defaults to the current tiddler |
| $field | The name of a field to be manipulated as a list (defaults to 'list') |
| $index | Optional index of a property in a data tiddler index to be manipulated as a list |
| $filter | An optional filter expression, the output of which will be saved to the field/index being manipulated |
| $subfilter | An optional subfilter expression, which takes the list being manipulated as input, and saves the modified list back to the field/index being manipulated |
| $tags | An optional subfilter expression, which takes the 'tags' field of the target tiddler as input, and saves the modified list of tags back to the 'tags' field |
A number of extended filter operators are necessary for the manipulation of lists. These operators have been designed primarily for use in subfilter expressions whereby the modified current list is returned in place of the current list.
| Listops Operators | ||
|---|---|---|
| Operator | Purpose | |
| allafter | discard all items except those after the marker | |
| allbefore | discard all items except those before the marker | |
| append | append a range of items from an array to the list | |
| insertbefore | insert an item T into a list immediately before an item B |
|
| move | move marker N places in the list | |
| prepend | prepend a range of items from an array to the list | |
| putafter | move N trailing items after the marker | |
| putbefore | move N trailing items before the marker | |
| putfirst | move N trailing items to the head of the list | |
| putlast | move N leading items to the tail of the list | |
| remove | remove a list of titles specified in the operand from the input | |
| replace | replace marker with N trailing items | |
| sortby | sort the current list in the order of the list referenced in the operand | |
In this example we shall populate and then clear a list in an ordinary field (myfield) of this tiddler (the default.)
<$button>
<$action-listops $field="myfield" $subfilter="efg hlm pqr"/>
Populate 'myfield'
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="abc xyz"/>
Append More Items
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-abc -hlm"/>
Remove Items
</$button>
<$button>
<$action-listops $field="myfield" $filter="[[]]"/>
Clear 'myfield'
</$button>
<$list filter="[list[!!myfield]]">
</$list>Este es su aspecto:
In this example we shall append and remove items from a list in an ordinary field (myfield) of this tiddler (the default) and sort the resultant list. We shall then remove some of the appended items and sort the resulting list in reverse order.
<$button>
<$action-listops $field="myfield" $subfilter="-efg ijk xyz [[this is a title]] +[sort[]]"/>
Mangle List
</$button>
<$button>
<$action-listops $field="myfield" $subfilter="-xyz -[[this is a title]] +[!sort[]]"/>
Unmangle List
</$button>
<$list filter="[list[!!myfield]]">
</$list>Este es su aspecto:
In this example we shall append a few tags to the 'tags' field of this tiddler (the default.) We shall then remove some of the appended tags.
<$button>
<$action-listops $tags="+[append{Days of the Week!!short}] $:/tag1 $:/tag2 $:/tag3"/>
Populate 'tags'
</$button>
<$button>
<$action-listops $tags="+[!remove:2{!!tags}]"/>
Remove Last Two Tags
</$button>
<$button>
<$action-listops $tags="+[!prefix[$:/]]"/>
Remove System Tags
</$button>
<$button>
<$action-listops $tags="-Mon -Tue"/>
Remove Mon and Tue
</$button>
<$button>
<$action-listops $tags="+[prefix[$:/]] ActionWidgets Widgets"/>
Remove User Tags
</$button>
<$button>
<$action-listops $tags="+[[]] ActionWidgets Widgets"/>
Clear Tags
</$button>
<$list filter="[list[!!tags]]">
</$list>Este es su aspecto:
The action-navigate widget is an action widget that sends a tm-navigate message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.
The action-navigate widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $to | The title of the target tiddler for the navigation (if not provided defaults to the current tiddler |
| $scroll | Optional parameter determining whether the navigation will also cause a scroll to the target tiddler (see below) |
The optional $scroll attribute can be set to "yes" to force scrolling to occur to bring the target tiddler into view. If set to "no" then scrolling does not occur. If the $scroll attribute is omitted then scrolling occurs unless either:
Note that if navigating to multiple tiddlers at once you should use the same $scroll setting for all of them.
Here is an example of button that navigates to two different tiddlers at once:
<$button>
<$action-navigate $to="ButtonWidget"/>
<$action-navigate $to="ActionWidgets"/>
Click me!
</$button>Este es su aspecto:
The action-sendmessage widget is an action widget that sends a message back up the widget tree. ActionWidgets are used within triggering widgets such as the ButtonWidget.
The action-sendmessage widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $message | The message to send (eg, WidgetMessage: tm-new-tiddler) |
| $param | Optional parameter string whose meaning is dependent on the message being sent |
| $name | Optional name of additional parameter |
| $value | Value for optional parameter whose name is specified in $name |
| {any attributes not starting with $} | Multiple additional, optional named parameters that are attached to the message |
Here is an example of button that displays both a notification and a wizard, and creates a new tiddler with tags and text:
<$button>
<$action-sendmessage $message="tm-modal" $param="SampleWizard"/>
<$action-sendmessage $message="tm-notify" $param="SampleNotification"/>
<$action-sendmessage $message="tm-new-tiddler" title="This is newly created tiddler" tags="OneTag [[Another Tag]]" text=<<now "Today is DDth, MMM YYYY">>/>
Click me!
</$button>Este es su aspecto:
The action-setfield widget is an action widget that assigns values to the fields of a tiddler. ActionWidgets are used within triggering widgets such as the ButtonWidget.
The action-setfield widget is invisible. Any content within it is ignored.
| Attribute | Description |
|---|---|
| $tiddler | The title of the tiddler whose fields are to be modified (if not provided defaults to the current tiddler) |
| $field | Optional name of a field to be assigned the $value attribute |
| $index | Optional index of a property in a data tiddler to be assigned the $value attribute |
| $value | The value to be assigned to the field or index identified by the $field or $index attribute. If neither is specified then the value is assigned to the text field. If no value is specified, $field or $index will be deleted. |
| $timestamp | Specifies whether the timestamp(s) of the target tiddler will be updated (modified and modifier, plus created and creator for newly created tiddlers). Can be "yes" (the default) or "no" |
| {any attributes not starting with $} | Each attribute name specifies a field to be modified with the attribute value providing the value to assign to the field |
Here is an example of a pair of buttons that open the control panel directly to specified tabs. They work by using action-setfield to set the state tiddler for the control panel tabs.
<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>
<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" text="$:/core/ui/ControlPanel/Settings"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Settings" tab
</$button>Este es su aspecto:
Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then navigates to it and opens the tiddler info panel on the "Fields" tab:
<$button>
<$action-setfield $tiddler="HelloThere" tags="NewTag [[Another New Tag]]" color="red"/>
<$action-setfield $tiddler="$:/state/popup/tiddler-info--1779055697" text="(568,1443,33,39)"/>
<$action-setfield $tiddler="$:/state/tab--1890574033" text="$:/core/ui/TiddlerInfo/Fields"/>
<$action-navigate $to="HelloThere"/>
Modify ~HelloThere
</$button>Este es su aspecto:
Here is an example of a button that assigns tags and fields to the tiddler HelloThere, and then initiates editing it:
<$button>
<$action-setfield $tiddler="HelloThere" tags="MoreTag [[Further More Tags]]" color="green"/>
<$action-sendmessage $message="tm-edit-tiddler" $param="HelloThere"/>
Edit ~HelloThere
</$button>Este es su aspecto:
Here is an example of a button that opens the control panel directly to the "Appearance" tabs:
<$button>
<$action-setfield $tiddler="$:/state/tab-1749438307" $field="text" $value="$:/core/ui/ControlPanel/Appearance"/>
<$action-navigate $to="$:/ControlPanel"/>
Go to Control Panel "Appearance" tab
</$button>Este es su aspecto:
Within the action string of the DroppableWidget, the actionTiddler variable contains the title of the tiddler being dropped.
Action widgets are a special type of widget that have no visual appearance but perform an action when triggered (such as sending a message, navigating to a tiddler, or changing the value of a tiddler). Action widgets are used in association with other widgets that trigger those actions (for example, the ButtonWidget).
The following action widgets are provided:
There are two ways to use action widgets:
actions attribute of the triggering widget (this is the preferred way)actions attributeThe action widgets are passed as a string to the actions attribute of the triggering widget. Usually, it is more convenient to use a macro to assign the action widgets to a variable. For example, here is a button that triggers two actions of sending different messages:
\define my-actions()
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
\end
<$button actions=<<my-actions>>>
Click me!
</$button>The action widgets need not be immediate children of their triggering widget, but they must be descendents of it. The actions are performed in sequence. Here is the above example rewritten to use embedding:
<$button>
<$action-sendmessage $message="tm-home"/>
<$action-sendmessage $message="tm-full-screen"/>
Click me!
</$button>Es posible añadir una tabla de contenidos a la barra lateral, siguiendo estos pasos:
$:/tags/SideBar
<div class="tc-table-of-contents">
<<toc-selective-expandable 'TableOfContents'>>
</div>caption con el texto Contenidos o la referencia adecuada a un tiddler o variable. p. ej, en el caso de la tabla de contenidos de este wiki, caption toma su valor del contenido de $:/language/SideBar/Contents/Caption. con el valor "$:/core/ui/SideBar/Open" para que la pestaña de de contenidos se muestre inmediatamente después de la de AbiertosAñade entradas a la tabla de contenidos creando tiddlers con la etiqueta TableOfContents. Una forma sencilla de hacerlo es con el botón del desplegable . De igual modo, a partir de estas, se pueden crear subentradas etiquetadas con el nombre de la entrada del nivel superior.
The standard mechanisms in TiddlyWiki for creating Table-of-Contents are macros known collectively as "toc" macros (click on link to learn more about macros). They use Tagging as their means of creating relationships, so be sure to review the Tagging topic tiddler if tagging is a new concept for you.
A customisable table of contents can be added to the sidebar with the following steps:
<div class="tc-table-of-contents">
<<toc-selective-expandable 'TableOfContents'>>
</div>Add entries to the table of contents by creating tiddlers tagged TableOfContents. An easy way is to choose new here from the tiddler toolbar of the TableOfContents tiddler. (if you don't see the "new here" button, click on the down arrow to see more menu options.)
To create child tiddlers (tiddlers that come below other tiddlers), tag them with the name of the parent tiddler.
Esta es una macro para crear el botón "Seguir en Twitter" para seguir una cuenta en particular:
\define twitterFollowButton(username)
<iframe allowtransparency="true" frameborder="0" scrolling="no" src="//platform.twitter.com/widgets/follow_button.html?screen_name=$username$" style="width:300px; height:20px;"></iframe>
\endEl único cambio respecto de la versión publicada en https://dev.twitter.com/docs/follow-button es que se han eliminado las nuevas líneas.
Ten en cuenta que "src URL" aparece sin protocolo (o sea, "http" o "https"). Se hace así para que funcione en sitios alojados tanto en uno como en otro. Si quieres que el botón de Twitter funcione mientras manejas TiddlyWiki offline como "file://", tendrás que añadir el protocolo manualmente. Por ejemplo:
<iframe allowtransparency="true" frameborder="0" scrolling="no" src="http://platform.twitter.com/widgets/follow_button.html?screen_name=jermolene" style="width:300px; height:20px;"></iframe>No todos los navegadores soportan las últimas características de ES2015. El proyecto Babel ofrece un polyfill que puede incluirse en TiddlyWiki, de modo que dichas características estén disponibles para nuevos plugins. Para hacerlo, es necesaria una copia del código fuente del polyfill.
Puede obtenerse una copia a través de npm o se puede descargar desde la página del proyecto. En la documentación del polyfill de Babel existe información específica para su instalación.
Hay que crear una carpeta plugins/babel-polyfill dentro de la carpeta editions de TiddlyWiki. En ella hay que crear el documento plugins/babel-polyfill/plugin.info, con el siguiente contenido:
{
"title": "$:/plugins/babel/babel-polyfill",
"description": "Babel Polyfills for ES2015 support",
"author": "Your Name Here",
"core-version": ">=5.0.0"
}Crea la carpeta plugins/babel-polyfill/files. Dentro, el archivo plugins/babel-polyfill/files/tiddlywiki.files, con el siguiente contenido:
{
"tiddlers": [
{
"file": "polyfill.min.js",
"fields": {
"title": "$:/plugins/babel/babel-polyfill/polyfill.min.js",
"type": "application/javascript",
"module-type": "library",
"global-module": "true"
}
}
]
}Copia entonces el archivo polyfill.min.js que ya has descargado.
Por último, necesitarás un inicializador, para lo que deberás crear el archivo plugins/babel-polyfill/plugin.js, con el siguiente contenido:
/*\
title: $:/plugins/babel/babel-polyfill/plugin.js
type: application/javascript
module-type: startup
Load the babel-polyfill library on startup
\*/
exports.startup = function() {
$tw.modules.execute('$:/plugins/babel/babel-polyfill/polyfill.min.js');
}Ahora están disponibles todas las características del entorno de ejecución ES2015.
En Escribir plugins con ES2016 está disponible la información necesaria sobre la sintaxis de ES2015 para programar plugins.
| purpose | extend each input title with a prefix |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | the input, but with S added to the start of each title |
| purpose | extend each input title with a suffix |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | the input, but with S added to the end of each title |
Mantener la coherencia entre títulos de tiddler puede volverse más y más difícil a medida la estructura de tu TiddlyWiki se vuelve más y más compleja. Por ejemplo: ¿Hay que referirse a términos en plural o en singular? ¿En CamelCase o separando palabras? ¿Con mayúscula sólo al principio o Con Mayúscula En Cada Palabra? ¿Traducimos los términos en inglés o los incorporamos a nuestra terminología?
Redactar formalmente una política de estilos puede ser de gran ayuda para reducir toda posible confusión. Por ejemplo, la Guía de estilo de este TiddlyWiki.
Una convención que te resultará útil es la de usar el prefijo $:/_para todo nuevo tiddler de sistema que crees, porque así te aseguras de que aparezca al principio de las listas, por ejemplo, la lista de tiddlers de sistema de la barra lateral en la pestaña Más/Sistema.
| purpose | find which input title follows a specified one |
|---|---|
| input | a selection of titles |
| parameter | T = one of those titles |
| output | the title that immediately follows T in the input |
If T is not present in the input, or is the last title there, then the output is empty.
These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.
[list[Days of the Week]after[Monday]]
[list[Days of the Week]after[Sunday]]
Las alertas se muestran como cajas amarillas superpuestas a la ventana principal de TiddlyWiki. Cada una corresponde a un tiddler con la etiqueta <<.tag $:/tags/Alert]]. Pinchando el icono de la papelera en una alerta borra el tiddler correspondiente.
Aquí va una demostración: .
Los tiddlers de alerta contienen los siguientes campos:
| Campo | Descripción |
|---|---|
| title | Por defecto, con el prefijo $:/temp/alerts/ |
| text | Texto de la alerta |
| modified | Fecha y hora de la alerta (para ordenarlos en pantalla) |
| component | Componente asociado a la alerta |
| tags | Deben incluir $:/tags/Alert |
| purpose | find all titles of a fundamental category |
|---|---|
| input | ignored, unless the parameter is empty |
| parameter | zero or more categories |
| output | the titles that belong to all the specified categories |
The parameter specifies zero or more fundamental categories using the following syntax:
| Category | Members | Sorted |
|---|---|---|
current | just the current tiddler | – |
missing | all non-existent tiddlers to which there is at least one hard link | no |
orphans | all tiddlers to which there are no hard links | by title |
shadows | all the shadow tiddlers that exist, including any that have been overridden with non-shadow tiddlers | no |
tags | all the tags in use on non-shadow tiddlers | no |
tiddlers | all the non-shadow tiddlers that exist | no |
If the parameter specifies more than one category, they are processed from left to right. The overall output is initially empty, and each category's output is dominantly appended to it in turn. Unrecognised categories contribute nothing to the output.
As a special case, if the parameter is empty, the output is simply a copy of the input. This can be useful when the parameter is soft.
The is operator is similar, but its scope is restricted to its input.
[all[shadows]]
[all[shadows+tiddlers]]
[all[tiddlers+shadows]]
[all[orphans+missing+current]]
[all[current]]
[all[current]tag[Operator Examples]]
[all[current]tag[Recipes]]
Monday Thursday +[all[]]
| purpose | discard all items except those after the marker |
|---|---|
| input | a list of items |
| suffix | specifying a suffix ('include') will include the marker in the output |
| parameter | marker = the list item to be used as a marker |
| output | all items after the marker |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[allafter[Wednesday]]
[list[Days of the Week]] +[allafter:include[Wednesday]]
| purpose | discard all items except those before the marker |
|---|---|
| input | a list of items |
| suffix | specifying a suffix ('include') will include the marker in the output |
| parameter | marker = the list item to be used as a marker |
| output | all items before the marker |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]allbefore[Wednesday]]
[list[Days of the Week]allbefore:include[Wednesday]]
Current tiddlers:
Here are the details of the alpha releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.
Released 6 diciembre 2013 at 17:53
See GitHub for detailed change history of this release
$:/theme isn't defined or refers to a missing tiddler, then fallback through Snow White to Vanilla. This means that empty.html now defaults to Snow White$:/tags/PageControls tiddlers from being reordered5.0.x-beta and the final release will be 5.1.xThe Amazon Web Services Plugin provides several tools for working with Amazon Web Services:
| purpose | append a range of items from an array to the list |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to all |
| parameter | list = the array of items to be appended to the tail of the list |
| output | a list with items appended from the head of the operand array |
! output | a list with items appended from the tail of the operand array |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]append[Tomorrow]]
[list[Days of the Week]append[Yesterday Today Tomorrow]]
[list[Days of the Week]append:4{Days of the Week!!short}]
Estos son algunos artículos recientes publicados sobre TiddlyWiki.
Envía nuevos artículos que encuentres via GitHub o Twitter, o publícalas en el grupo
Interesting article giving the perspective of someone who has been away from TiddlyWiki for a few years:
Way back in the mists of time (actually, January 2009) I wrote about a really cool tool called TiddlyWiki, a “non-linear personal web notebook”. Fast forward to today and I just had an out of body experience: Completely by accident I found a TiddlyWiki that I started when I wrote that piece and it still works!
Finding code that works flawlessly after just two or three years is magical enough but after seven years?! And given that TiddlyWiki is written as a single page Web application and considering how different browsers are now than they were in 2009, the fact that the old version of TiddlyWiki still works is not short of miraculous.
Detailed description of setting up TiddlyWiki on Node.js on OS X.
http://undefinedvalue.com/2015/04/02/setting-personal-tiddlywiki-server-os-x
For a new job, I decided to set up a personal wiki to keep notes. I wanted to keep it simple, meeting these requirements:
- All the data is in a Dropbox folder (so it can be automatically synced between machines)
- It must support Markdown syntax
After looking at the options, I settled on TiddlyWiki. I've used "classic TiddlyWiki" before, and liked its simplicity, but I was always a little annoyed with the weird steps you have to go through to save changes. The new version of TiddlyWiki includes support for running it as a real HTTP server, so you can use it just like an online wiki.
But it took me a couple of hours to figure out how to set that up. The TiddlyWiki documentation is not clear ("not clear" is a euphemistic way of saying "terrible"). So, I've written up these instructions in the hope it will spare somebody else all the frustration I had.
Dutch blog post about TiddlyWiki
https://breinbout.wordpress.com/2014/11/26/tiddlywiki/
I'm allergic to websites that are highly dependent on JavaScript. I think that JavaScript has many useful applications to add functionality to a site, but content needs to be visible if JavaScript is switched off. I use the NoScript extension for Firefox and surf with pleasure over the Internet without spontaneous things happen that I do not give permission. I love JavaScript on a short leash. More crazier maybe I'm so excited about TiddlyWiki.
(Translation from Dutch by Google Translate)
A quick guide to using TiddlyWiki (written in German)
http://michaelsonntag.net/notizen-mit-tiddlywiki-systemuebergreifend-nutzen
Those using multiple different computer platforms (if only PC and Android) knows for certain: You would like to sync notes across computers and thereby be independent of any apps or services. I am concerned at any rate so and so I am constantly looking for the perfect solution.
With TiddlyWiki I found it mostly. As the name suggests, it TiddlyWiki is a Wikisystem. In contrast to all other wikis, TiddlyWiki is a single HTML file that runs in the browser and thus can be used on all modern operating systems. And because there is only one file, it can be very easily via the well-known cloud services (Dropbox, Google Drive, ownCloud) or synchronized with FTP or used on a USB stick.
(Translation from German by Google Translate)
Reaction to TiddlyWiki5 from the translator of the German edition of TiddlyWikiClassic.
http://blog.netplanet.org/2014/01/03/tiddlywiki-5-im-betatest/
There is little software that can still inspire me so even after years, as on the first day. This includes TiddlyWiki, the "pocket-wiki". The latter is because the Wiki completely fits into an HTML file, and this HTML file brings everything - JavaScript program logic, CSS appearance and the entire Wiki content as stored records. So a TiddlyWiki file is then sometimes happy times some megabytes in size, but just has the unbeatable advantage that it works just as fast file created locally in a variety of browsers.
(Translation from German by Google Translate)
Learn more at: Attribute selectors - CSS or CSS-Specification
Se pueden incorporar archivos de audio a TiddlyWiki de manera muy similar a como se hace con imágenes.
Se pueden incrustar pequeños archivos de audio directamente en TiddlyWiki. No es conveniente hacerlo con archivos grandes (de más de unos pocos cientos de Kb), porque aumenta el tamaño del archivo de ~Tiddlywiki.
Veamos un ejemplo: el tiddler TiddlyWiki.mp3 contiene la grabación de la palabra "TiddlyWiki" en inglés. Si abres el tiddler, verás un pequeño reproductor de audio que te permitirá oirlo.
Por supuesto, como ocurre con cualquier otro tiddler, puedes hacer la transclusión de su contenido:
{{TiddlyWiki.mp3}}Este es su aspecto:
Un tiddler de audio externo usa el campo _canonical_uri para apuntar al origen externo de un archivo o stream de audio y bloquear el campo Text. Esto reduce considerablemente su tamaño a la vez que nos sigue permitiendo su reproducción.
Otro ejemplo: el tiddler Caruso - Ave Maria apunta a un archivo online almacenado en http://archive.org:
{{Caruso - Ave Maria}}Este es su aspecto:
Si hay un SaverModule disponible que lo permita, TiddlyWiki guardará el documento en su estado actual en cuanto se pulsen los botones o
Debieras ver entonces una notificación amarilla en la esquina superior derecha de la ventana que confirma que se ha realizado el guardado.
Se puede activar y desactivar el guardado automático en la pestaña Configuración del panel de control. Entre bambalinas, se controla mediante el tiddler de configuración $:/config/AutoSave, que en su cuerpo indica con los valores Sí o No si activa el autoguardado.
| purpose | find the titles that link to each input title |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | any non-system titles that contain hard links to the input titles |
Each input title is processed in turn. The corresponding tiddler's list of backlinks is generated, sorted alphabetically by title, and then dominantly appended to the operator's overall output.
[[HelloThere]backlinks[]]
[all[current]backlinks[]]
From Beaker Browser website:
Beaker is a Peer-to-Peer Web Browser, made for users to run applications independently of hosts. Using P2P Hypermedia, Beaker separates frontend apps from backend services, so that users are completely in control of their software and data. Read more.
Beaker is a fork of the open source Chromium browser (which is the core engine powering Google's Chrome browser).
Beaker adds the ability to host sites within the browser, and browse to those sites via the dat:// protocol. The extraordinary thing is that if you are running Beaker then you can also browse to sites hosted by other users, without needing any server in between.
Further, you can opt to host a site belonging to somebody else, forming part of a Bittorrent-like swarm of peers serving the content to other browsers. You can also fork a site, making your own copy that you can change as you need.
The main disadvantage is that mainstream browsers cannot use dat:// sites.
Most of the magic is accomplished by the underlying Dat protocol.
New in: 5.1.14 TiddlyWiki incorporates a special saver module permitting changes to be saved directly from Beaker browser. See Saving on Beaker Browser for instructions.
| purpose | find which input title precedes a specified one |
|---|---|
| input | a selection of titles |
| parameter | T = one of those titles |
| output | the title that immediately precedes T in the input |
If T is not present in the input, or is the first title there, then the output is empty.
These examples make use of the Days of the Week tiddler. The Thursday tiddler shows a further example.
[list[Days of the Week]before[Saturday]]
[list[Days of the Week]before[Monday]]
Here are the details of the beta releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named.
Released 17 septiembre 2014 at 22:10
See GitHub for detailed change history of this release
This is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).
The layout of files on tiddlywiki.com has been adjusted to make it more logical. See the ticket for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com
list-links macro (further improvements are planned).markdown and .md filestimeline macro to support a subfilter.jpeg file extensions@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
There are two ways to produce HTML block quotes in TiddlyWiki5, one for content spread across multiple lines, and one for single line content.
The syntax for multi-line block quotes () is:
<<<
This is a block quoted paragraph
written in English
<<<
Tiene este aspecto:
This is a block quoted paragraph written in English
... y su código HTML es:
<blockquote class="tc-quote"><p>This is a block quoted paragraph written in English </p></blockquote>
A citation can be added to the quote like this:
<<<
Computers are like a bicycle for our minds
<<< Steve Jobs
Tiene este aspecto:
Computers are like a bicycle for our minds
Steve Jobs
... y su código HTML es:
<blockquote class="tc-quote"><p>Computers are like a bicycle for our minds </p><cite>Steve Jobs</cite></blockquote>
CSS classes can be added to a block quote:
<<<.myClass.another-class
Operating systems are like a brick wall for our minds
<<< Nobody
Tiene este aspecto:
Operating systems are like a brick wall for our minds
Nobody
... y su código HTML es:
<blockquote class="tc-quote myClass another-class"><p>Operating systems are like a brick wall for our minds </p><cite>Nobody</cite></blockquote>
The core includes the class tc-big-quote that renders block quotes with outsize double quotes:
<<<.tc-big-quote
A dramatic quote
<<< Somebody Important
Tiene este aspecto:
A dramatic quote
Somebody Important
... y su código HTML es:
<blockquote class="tc-quote tc-big-quote"><p>A dramatic quote </p><cite>Somebody Important</cite></blockquote>
The single-line syntax for block quotes is actually an extension of the syntax for Lists in WikiText. For example:
> Quoted text
> Another line of quoted text
Tiene este aspecto:
Quoted text
Another line of quoted text
... y su código HTML es:
<blockquote><p>Quoted text</p><p>Another line of quoted text</p></blockquote>
You can also nest quotes like this:
> A top quote
>> A subquote
> Another top quoteWhich renders as:
A top quote
A subquote
Another top quote
You can also mix block quotes with other list items. For example:
* List One
** List Two
**> A quote
**> Another quote
* List Three
Tiene este aspecto:
A quote
Another quote
... y su código HTML es:
<ul><li>List One<ul><li>List Two<blockquote><p>A quote</p><p>Another quote</p></blockquote></li></ul></li><li>List Three</li></ul>
Desarrollada para su uso en Node.js, la edición "blog" de TiddlyWiki contiene herramientas para la publicación de blogs estáticos en HTML.
Mientras se prepara la documentación, puedes ver un ejemplo de su uso en http://jermolene.com/
TiddlyWiki ha sido diseñado para trabajar en navegadores compatibles con HTML5.
La tabla siguiente es un resumen de versiones de los navegadores en los que se sabe que TiddlyWiki funciona correctamente:
| Navegador | Status |
|---|---|
| Internet Explorer | Versión 10 y superiores |
| Chromium/Chrome | Todas las recientes |
| Firefox | Todas las recientes |
| Firefox for Android | Todas las recientes |
| Safari | Versión 6 y superiores |
The browse widget displays an HTML file browser button that allows the user to choose one or more files to import. It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers imported from the files up through its parents. This message is usually handled by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.
The content of the <$browse> widget is ignored.
| Attribute | Description |
|---|---|
| multiple | Set to "multiple" to select multiple file upload |
| deserializer | New in: 5.1.15 Optional name of deserializer to be used (by default the deserializer is derived from the file extension or type) |
| tooltip | Optional tooltip text |
| message | Optional override of widget message to be generated. The parameter for the message will be the JavaScript object event.target.files |
On iPhone/iPad choosing the multiple option will remove the ability to take photographs/videos directly into TiddlyWiki.
e.g.
<$browse>renders as:
BT (née British Telecom) is the UK's largest telecommunications company. In 2007, Osmosoft was acquired by BT. JeremyRuston subsequently left BT in 2011.
Compila los targets que se especifican.
Si no se especifica ninguno, se incluirán todos los disponibles
--build <target> [<target> ...]Los targets se definen en el archivo tiddlywiki.info
See TiddlyWikiFolders for details of defining build targets.
TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:
tiddlywiki/classictools plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x .recipe filesstripcomments format for the ViewWidget, which strips single line JavaScript comments starting //#stripTitlePrefix='yes' attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the title attribute{tiddler}HelloThere would be transformed to HelloThereTiddlyWikiClassic is built from the command line by running TiddlyWiki on Node.js. A typical usage would be:
node ../../tiddlywiki.js \
--verbose \
--load <path_to_recipe_file> \
--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \
|| exit 1| purpose | discard the last N input titles |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 1 |
| output | all but the last N input titles |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]butlast[]]
[list[Days of the Week]butlast[2]]
A B C D E F G H I J K L M +[butlast[7]]
The button widget displays an HTML <button> element that can perform a combination of optional actions when clicked:
actions attributeThe integrated actions are provided as a shortcut for invoking common actions. The same functionality is available via ActionWidgets, with the exception of the support for highlighting selected popups.
The content of the <$button> widget is displayed within the button.
| Attribute | Description |
|---|---|
| actions | A string containing ActionWidgets to be triggered when the key combination is detected |
| to | The title of the tiddler to navigate to |
| message | The name of the widget message to send when the button is clicked |
| param | The optional parameter to the message |
| set | A TextReference to which a new value will be assigned |
| setTitle | A title to which a new value will be assigned, without TextReference. Gets preferred over state |
| setField | A field name to which the new value will be assigned, if the attribute stateTitle is present. Defaults to the text field |
| setIndex | An index to which the new value will be assigned, if the attribute stateTitle is present |
| setTo | The new value to assign to the TextReference identified in the set attribute or the text field / the field specified through setField / the index specified through setIndex of the title given through setTitle |
| selectedClass | An optional additional CSS class to be assigned if the popup is triggered or the tiddler specified in set already has the value specified in setTo |
| default | Default value if set tiddler is missing for testing against setTo to determine selectedClass |
| popup | Title of a state tiddler for a popup that is toggled when the button is clicked. See PopupMechanism for details |
| popupTitle | Title of a state tiddler for a popup that is toggled when the button is clicked. In difference to the popup attribute, no TextReference is used. See PopupMechanism for details |
| aria-label | Optional Accessibility label |
| tooltip | Optional tooltip |
| class | An optional CSS class name to be assigned to the HTML element |
| style | An optional CSS style attribute to be assigned to the HTML element |
| tag | An optional html tag to use instead of the default "button" |
| dragTiddler | An optional tiddler title making the button draggable and identifying the payload tiddler. See DraggableWidget for details |
| dragFilter | An optional filter making the button draggable and identifying the list of payload tiddlers. See DraggableWidget for details |
Note: In almost all other cases where a TextReference is used as a widget attribute, it will be placed between curly brackets, to transclude the value currently stored there. However, when we use a TextReference as the value of a button widget's set attribute, we are referencing the storage location itself, rather than the value stored there, so we do not use curly brackets there. Example: we could code a button widget that sets the caption field of TiddlerA to be the same as that of TiddlerB as:
<$button set="TiddlerA!!caption" setTo={{TiddlerB!!caption}} >
Press me!
</$button>Tip: Set class to tc-btn-invisible tc-tiddlylink to have a button look like an internal link.
El CamelCase se forma tomando una frase, poniendo la inicial de cada palabra en mayúscula y pegando una palabra a la otra, sin espacios. Esto hace que visualmente al texto le salgan jorobas y de ahí el nombre.
La mayoría de wikis usan CamelCase como una forma rápida de crear hipertexto.
CSS is a standard plain-text format used for defining the presentational style of the various elements on a web page.
The changecount macro returns the number of times the current tiddler has been created, stored or deleted during the current TiddlyWiki session.
If a tiddler is deleted and subsequently recreated, its changecount will go up by two.
(none)
<<changecount>>
The value will increase if you edit this tiddler and store it again, even without making any changes to its content.
To access the changecount of a different tiddler, use a $tiddler widget:
<$tiddler tiddler="Draft of 'New Tiddler'">
<<changecount>>
</$tiddler>
The value shown will increase whenever you create, store or delete New Tiddler.
This release resolves a number of inconsistencies with the way that filters are handled. The changes mean that existing filters may need to be updated - particularly those that must deal with missing or shadow tiddlers.
Most filter operators act by choosing some or all of their source titles to pass through or re-order. Those that add new entries that are not drawn from the source list are referred to as selectors. Prior to 5.0.9-beta, a few filter operators were inconsistent in whether they filtered from the source list or selected new entries into it.
The specific changes are:
The sources for the all operator can be combined with the + character. For example, [all[shadows+tiddlers]] returns all shadow tiddlers and all ordinary tiddlers.
Previously, it was common to have [is[shadow]] at the start of a filter string to select all the shadow tiddlers. In 5.0.9 and above, this will not return all the shadow tiddlers, but instead just those ordinary tiddlers that are also shadow tiddlers (by virtue of having overridden one). The resolution is to use the new all operator. For example, consider this filter from 5.0.8:
[is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] [!is[shadow]!has[draft.of]tag[$:/tags/AdvancedSearch]] +[tag[$:/tags/AdvancedSearch]]In 5.0.9, that filter has been changed to:
[all[shadows+tiddlers]tag[$:/tags/AdvancedSearch]!has[draft.of]]Note how the all operator allows operations to be performed on tiddlers from combinations of sources.
[is[current]]One result of the changes is that [is[current]] now strictly filters from the source tiddlers; so, if the current tiddler is a missing tiddler not in the source list, then [is[current]] will return an empty list.
The solution is generally to use [all[current]] instead. It doesn't read as well, but has the required behaviour of returning just the current tiddler, regardless of whether it is in the source tiddlers.
There are minor changes to the way that the title and field operators work.
The title operator is a selector: it returns the specified title regardless of whether it is in the current source. title is used as the default operator if none is specified
The field operator is a filter: it only returns a subset of the source tiddlers. field is used as the default operator if the supplied operator is not defined (the supplied operator is passed as the suffix to the field operator, so [description[Missing]] is equivalent to [field:description[Missing]]).
The checkbox widget displays an HTML <input type="checkbox"> element that is dynamically bound to either:
The content of the <$checkbox> widget is displayed within an HTML <label> element immediately after the checkbox itself. This means that clicking on the content will toggle the checkbox.
| Attribute | Description |
|---|---|
| tiddler | Title of the tiddler to manipulate (defaults to the current tiddler) |
| tag | The name of the tag to which the checkbox is bound |
| invertTag | When set to yes, flips the tag binding logic so that the absence of the tag causes the checkbox to be checked |
| field | The name of the field to which the checkbox is bound |
| index | New in: 5.1.14 The index of the tiddler, a DataTiddler, to which the checkbox is bound |
| checked | The value of the field corresponding to the checkbox being checked |
| unchecked | The value of the field corresponding to the checkbox being unchecked |
| default | The default value to use if the field is not defined |
| class | The class that will be assigned to the label element |
| actions | New in: 5.1.14 A string containing ActionWidgets to be triggered when the checkbox is checked |
| uncheckactions | New in: 5.1.16 A string containing ActionWidgets to be triggered when the checkbox is unchecked |
Using the checkbox widget in tag mode requires the tag attribute to specify the name of the tag. The tiddler attribute specifies the tiddler to target, defaulting to the current tiddler if not present.
This example creates a checkbox that flips the done tag on the current tiddler:
<$checkbox tag="done"> Is it done?</$checkbox>Este es su aspecto:
Using the checkbox widget in field mode requires the field attribute to specify the name of the field. The checked and unchecked attributes specify the values to be assigned to the field to correspond to its checked and unchecked states respectively. The default attribute is used as a fallback value if the field is not defined.
This example creates a checkbox that is checked if the field status is equal to open and unchecked if the field is equal to closed. If the field is undefined then it defaults to closed, meaning that the checkbox will be unchecked if the status field is missing.
<$checkbox field="status" checked="open" unchecked="closed" default="closed"> Is it open?</$checkbox><br>''status:'' {{!!status}}Este es su aspecto:
status:
To use the checkbox widget in index mode set the index attribute to the index of a DataTiddler. The checked and unchecked attributes specify the values to be assigned to the index and correspond to its checked and unchecked states respectively. The default attribute is used as a fallback value if the index is undefined.
The example below creates a checkbox that is checked if the index by the name of this tiddler in the tiddler ExampleData is equal to selected and unchecked if the index is an empty string. If the index is undefined then it defaults to an empty string, meaning the checkbox will be unchecked if the index is missing.
<$checkbox tiddler="ExampleData" index=<<currentTiddler>> checked="selected" unchecked="" default=""> Selected?</$checkbox>Este es su aspecto:
actions AttributeThis example of using the actions attribute shows both the Action Set Field Widget and Action Send Message Widget to demonstrate two actions.
The Set Widget uses a filter value to set the value of variable tag. The Action Send Message Widget joins all the tags into one large tag. The Action Set Field Widget appends the tags as individual tags. In this example, the Field Mangler Widget is required for the Action Send Message Widget but not for Action Set Field Widget. Be aware that the action occurs whether you check or uncheck.
It is often necessary to use triple quotes with the actions attribute. Alternatively, the attribute can be assigned directly from a variable with actions=<<my-actions>>.
<$fieldmangler>
<$set filter="[[Features]] [[Encryption]] +[tags[]]" name="tag">
<$checkbox actions="""<$action-setfield $field="tags" $value=<<tag>> /><$action-sendmessage $message="tm-add-tag" $param=<<tag>> />""" field="checked" checked="YES" unchecked="NO" >
Add tags from tiddlers [[Features]] and [[Encryption]]
</$checkbox>
</$set>
</$fieldmangler>Este es su aspecto:
You can use triple backticks ``` to mark code blocks ():
``` This will be monospaced ```
Renders as:
This will be monospacedTo be interpreted correctly, the three backticks need to be at the start of the line and immediately followed by a line-break.
Be aware that any preceding paragraph content should be properly terminated with a double line break, too. So, this example is wrong:
This is an ordinary paragraph ``` This will be monospaced ```
The correct version is:
This is an ordinary paragraph ``` This will be monospaced ```
Note that some keyboard layouts treat the backtick as a dead key, making it hard to type. The trick is to type three backticks followed by a space. Alternatively, type all six backticks in one go, then a space, and then move the cursor back three characters to type or paste the content.
The codeblock widget renders text in <pre> and <code> blocks, causing it to be
displayed monospace. A language may optionally be specified using the
language attribute, however syntax highlighting will only be used if the
Highlight Plugin is installed.
The content of the <$codeblock> widget is ignored.
| Attribute | Description |
|---|---|
| code | Contents of the block to render as code |
| language | Programming language for syntax highlighting |
The language attribute accepts either:
text/html or image/svg+xml)Here is an example embedding the contents of a tiddler as a code block.
<$codeblock code={{$:/editions/tw5.com/macro-examples/say-hi}} />Este es su aspecto:
\define sayhi(name:"Bugs Bunny" address:"Rabbit Hole Hill")
Hi, I'm $name$ and I live in $address$.
\end
A codeblock may also specify a language.
<$codeblock code="SELECT * FROM users WHERE deleted = false" language="sql" />Este es su aspecto:
SELECT * FROM users WHERE deleted = false
El plugin CodeMirror incorpora un sofisticado editor web de texto.
DIsponible en: https://tiddlywiki.com/plugins/tiddlywiki/codemirror/
The colour (or color) macro returns the CSS value of one the colours in the current palette.
If no such entry exists in the current palette, the vanilla palette is used instead.
page-background<<colour code-border>>
<<colour foreground>>
<<colour page-background>>
<<colour sidebar-tab-background>>
<<colour tag-foreground>>
Colour: <$edit-text tiddler='$:/_MyColour' tag='input' placeholder='(unset)' default=''/>
---
<$macrocall $name='colour-picker' actions="
<$action-setfield $tiddler='$:/_MyColour' $value=<<colour-picker-value>>/>
"/>
Una paleta de colores es un tiddler de datos que proporciona valores CSS a una serie de parámetros de color de diferentes componentes, definidos de esta manera:
page-background: #fe0
table-border: #ccc
...Hay varias paletas definidas en el núcleo de TiddlyWiki. El tiddler $:/palette contiene el título de la paleta actualmente seleccionada.
Para saber el color de algún elemento definido en la paleta actual, por ejemplo para su uso en una hoja de estilos, se puede usar la macro color:
<<colour page-background>>Devuelve el siguiente valor, correspondiente al color aplicado al componente "page-background": #f4f4f4.
Los tiddlers que definen una paleta de color tienen que tener los siguientes campos:
| Nombre | Valor |
|---|---|
| title | Lleva el prefijo $:/ |
| type | application/x-tiddler-dictionary |
| tags | $:/tags/Palette |
| description | Descripción para mostrar en el selector de paletas |
| text | nombre: valor |
El valor CSS puede definirse bien usando un nombre predefinido (p.ej: BlanchedAlmond), su valor hexadecimal (p.ej, para el anterior: #FFEBCD), o rgba (el anterior: 255, 235, 205,1)
CSV is a standard plain-text format for storing a table of data.
Each row of the table is called a record and occupies one line.
The columns are called fields. Each field of a row is separated from the next by a comma, and is often delimited by quotation marks.
The csvtiddlers macro returns tiddler content in this format.
Un comando es una de las siguientes palabras, escritas con el prefijo --, usada como opción en la línea de comandos para indicar a TiddlyWiki en Node.js qué acción se desea.
| purpose | select the titles of all the Node.js commands |
|---|---|
| input | ignored |
| parameter | none |
| output | the command words that can be given to TiddlyWiki on Node.js |
Aquí reunimos las últimas y más útiles novedades procedentes de la comunidad TiddlyWiki.
Las últimas noticias, artículos, recursos y ejemplos.
Implementation of TiddlyWiki Coding Style Guidelines for different IDEs.
A topical index of known plugins, tutorials, themes, and other helpful tools for TiddlyWiki.
https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM
Some of the topics indexed so far include:
Timimi is a Web Extension and executable for Firefox, Chrome and Chromium that allows it to save standalone TiddlyWiki files.
https://github.com/ibnishak/Timimi
This is an addon using native messaging, essentially handing over the contents to a webextension host (executable) which does the actual saving. Once installed, you can save the standalone TW from anywhere in your hard drive without any more interactions, like the original Tiddlyfox addon.
TiddlyWiki5 Packaged with the multi-user plugin in a single executable file.
https://github.com/OokTech/TW5-SingleExecutable
Tiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux.
A cross platform server application that can save tiddlers to a local database
https://github.com/opennota/widdly
a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.
Dynamic Tables is a set of macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.
A desktop application for TiddlyWiki, running on Windows.
https://lamusia.github.io/#ATWiki
TiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.
A terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the muuri plugin by Uwe Stuehler.
It's a frequent use case in TiddlyWiki that you will want to put the results of variables together with various bits of strings of text. This process in some programming languages is often referred to as "concatenating" text.
You might, for instance want to set up a template for your customer database, where links will automatically refer to additional contact information about your customer. Inside your tiddler, you might try something like this:
| ⚠ Warning: Don't do it this way! | [[Additional Info|<<currentTiddler>>-Contact]] |
But that won't work. If you try this, the link will be interpreted very literally, and will attempt to take you to:
<<currentTiddler>>-ContactThe solution is to use a macro to put the rendered value of <<currentTiddler>> together with the bit of additional text, -Contact.
Create a macro either at the top of the tiddler or in a global tiddler (see Macros) like this:
\define linkup(link) [[Additional Info|$link$-Contact]]You might be tempted to invoke the new macro like this:
| ⚠ Warning: Don't do it this way! | <<linkup <<currentTiddler>> >> |
But if you do, you will find that <<currentTiddler>> doesn't get rendered, but instead gets passed literally.
Instead, you could use the MacroCallWidget widget, like this:
<$macrocall $name="linkup" link=<<currentTiddler>> />In this case, we passed the value of a variable directly to our macro. This is often a general way to go about this task. If you wanted to create more links based on other variables you could re-use the macro for each situation.
If, as in this case, the only variable you are using is currentTiddler then you could write a simple macro, like this:
\define linkup() [[Additional Info|$(currentTiddler)$-Contact]]Notice that in this case we don't pass an argument. Instead, we reference the variable using the special syntax $(variable)$. Since we don't pass an argument, we can invoke it without the <$macrocall> widget more simply, like this:
<<linkup>>
Estos son los conceptos básicos presentes en TiddlyWiki. Comprender cómo encajan estos conceptos unos con otros es fundamental para el conocimiento en profundidad de TiddlyWiki.
You can configure TiddlyWiki to start up using whatever individual or group of tiddlers you want using the default tiddlers mechanism.
In the control panel under the info tab is an input field labeled "Choose which tiddlers are displayed at startup". You can list whatever tiddlers you want to open at startup. Use double square brackets for titles containing spaces. For example:
FirstTiddler
SecondTiddler
[[Third Tiddler]]You can also use filter expressions to open more than one tiddler. For example:
[tag[HelloThere]]will open all tiddlers tagged as .
You can also use this technique to preserve open tiddlers at startup
El tiddler de configuración $:/config/TiddlerInfo/Default contiene el título del tiddler de la pestaña abierta por defecto en el InfoPanel.
Su valor por defecto es $:/core/ui/TiddlerInfo/Tools, que corresponde a la pestaña Herramientas.
Todos los valores posibles para seleccionar la pestaña abierta por defecto son:
| purpose | filter the input by searching list fields for a value |
|---|---|
| input | a selection of titles |
| suffix | F = the name of a field |
| parameter | S = a possible value to be found in list field F |
| output | those input tiddlers in which the list field F contains the value S |
! output | those input tiddlers in which the list field F does not contain the value S |
[[$:/StoryList]contains[HelloThere]]
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Used in Internet protocols to indicate the type that should be used to interpret the content of a web resource.
In TiddlyWiki, the type field gives the content type to apply to the main text field.
| Group | Type | Content of type field |
|---|---|---|
| Developer | Data dictionary | application/x-tiddler-dictionary |
| JavaScript code | application/javascript | |
| JSON data | application/json | |
| Static stylesheet | text/css | |
| Image | GIF image | image/gif |
| ICO format icon file | image/x-icon | |
| JPEG image | image/jpeg | |
| PDF image | application/pdf | |
| PNG image | image/png | |
| Structured Vector Graphics image | image/svg+xml | |
| Text | HTML markup | text/html |
| CSS stylesheet | text/css | |
| Comma-separated values | text/csv | |
| Plain text | text/plain | |
| TiddlyWiki 5 | text/vnd.tiddlywiki | |
| TiddlyWiki Classic | text/x-tiddlywiki |
The contrastcolour macro returns whichever of two given CSS colours is deemed to contrast best with another.
An example can be seen in the template tiddler for tag pills.
target is undefined or not a valid colourEstamos encantados de recibir contribuciones al código y la documentación de TiddlyWiki, ya sea:
Hay, además, más formas de contribuir con el proyecto.
Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.
Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).
Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.
paso a paso
Jeremy Ruston, @Jermolene, 2011/11/22Los documentos que componen el CLA de este proyecto se crearon usando las siguientes plantillas del Proyecto Harmony:
Observaciones:
«When not owning the copyright in the entire work of authorship...»
En caso de que, como dice el texto, no seas propietario de los derechos de la totalidad del trabajo de tu autoría, exprésalo claramente. De otro modo, asumiremos que eres el único poseedor legal de los derechos de tu contribución al proyecto. En tal caso, proporciona también enlaces e información que aclare bajo qué licencia se distribuye el código del que no eres propietario.
Estamos encantados de recibir contribuciones al código y la documentación de TiddlyWiki, ya sea:
Hay, además, más formas de contribuir con el proyecto.
Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.
Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).
Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.
paso a paso
Jeremy Ruston, @Jermolene, 2011/11/22Los documentos que componen el CLA de este proyecto se crearon usando las siguientes plantillas del Proyecto Harmony:
Observaciones:
«When not owning the copyright in the entire work of authorship...»
En caso de que, como dice el texto, no seas propietario de los derechos de la totalidad del trabajo de tu autoría, exprésalo claramente. De otro modo, asumiremos que eres el único poseedor legal de los derechos de tu contribución al proyecto. En tal caso, proporciona también enlaces e información que aclare bajo qué licencia se distribuye el código del que no eres propietario.
This file was automatically generated by TiddlyWiki5
Al igual que sucede en otros proyectos de Código Abierto, TiddlyWiki5 necesita que quien quiera contribuir con él, firme un acuerdo de licencia de contribución.
Es un acuerdo legal que permite a quien contribuye afirmar que los derechos de su contribución son exclusivamente suyos y que está de acuerdo en licenciarlos a la Asociación UnaMesa (entidad legal que, en nombre de la comunidad, es propietaria de TiddlyWiki).
Las siguientes personas han dedicado generosamente su tiempo a contribuir al desarrollo de TiddlyWiki:
The copy-to-clipboard macro displays a button that copies specified text to the clipboard. A notification is displayed if the operation is successful; some browsers do not permit the operation.
tc-btn-invisible)<<copy-to-clipboard "Mary had a little lamb">>
<$macrocall $name="copy-to-clipboard" src={{$:/SiteTitle}}/>
Puedes copiar un tiddler individual de un TiddlyWiki a otro arrastrando su enlace de una ventana del navegador a otra.
The following macros are built into TiddlyWiki's core:
The following variables are built into TiddlyWiki's core:
The core will also use various configuration variables and macros if you define them:
| purpose | count the number of entries in a list |
|---|---|
| input | a selection of titles |
| output | a new list containing the number of items in the input list as a decimal string |
The number of the entries in the input list is counted and a decimal representation returned as a single string.
CountWidget muestra el número de tiddlers que coinciden con determinada expresión de filtro.
El contenido del widget <$count> se ignora.
| Atributo | Descripción |
|---|---|
| filter | Expresión de filtro para contar |
Para crear un formato personalizado de exportación de tiddlers en texto plano, sigue los siguientes pasos:
Tags: $:/tags/Exporterdescription: descripción del formatoextension: extensión de archivo por defecto, incluyendo el punto; por ejemplo, .tmx\define renderContent()
{{{ $(exportFilter)$ ||$:/core/templates/plain-text-tiddler}}}
\end
<<renderContent>>La variable exportFilter contiene un filtro que define qué tiddlers se exportarán.
By default, TiddlyWiki displays a blank screen while it is loading. You can add a special "splash screen" that is displayed while the wiki loads.
Larger TiddlyWiki files and those loaded over a slow network connection may take a little time to load. Once fully loaded, performance improves, because everything is now running entirely within the browser. Using a splash screen ensures people know the loading process is taking place, reducing the chance they will leave the page.
In order for the splash screen to be displayed before TiddlyWiki is initialised it is embedded as static HTML/CSS within the TiddlyWiki HTML file. This is done with the SystemTag: $:/tags/RawMarkupWikified/TopBody.
In order to remove the splash screen when the wiki has finished loading, the HTML should be wrapped in a container with the special class tc-remove-when-wiki-loaded. Any DOM elements with this class are automatically deleted by the core once the wiki has loaded.
Here's an example of a simple splash screen that just displays the text Loading. To use it, copy the text into a new tiddler, give it the type "text/plain" and the tag "$:/tags/RawMarkupWikified/TopBody":
<div class="tc-remove-when-wiki-loaded">
Loading...
</div>If the tiddler is given the WikiText type text/vnd.tiddlywiki then the contents are wikified as the file is saved, allowing transclusion etc. For example, here's an example that quotes the site title in the loading message. To use it, copy the text into a new tiddler, give it the type "text/vnd.tiddlywiki" and the tag "$:/tags/RawMarkupWikified/TopBody":
\rules only filteredtranscludeinline transcludeinline
<div class="tc-remove-when-wiki-loaded">
Please wait while {{$:/SiteTitle}} is loading
</div>The \rules directive is used to limit the wikitext syntax that is recognised to the two forms of inline transclusion. This avoids accidental wikification of tiddler content.
There is a more complex example splash screen using CSS animations and images configured in this wiki: see $:/SplashScreen
Un tiddler se crea con un simple clic, bien en el botón de la barra lateral, o en el enlace a un tiddler vacío, que se distinguen por estar en cursiva azul
Mira también:
Haz clic en el botón , situado arriba a la derecha del tiddler que quieres editar.
Cuando creas un tiddler nuevo o editas uno ya existente, el tiddler se muestra en modo borrador o de edición y muestra un panel de control que permite modificarlo de varias formas, compuesto de las siguientes partes (de arriba hacia abajo):
Campo de título - SIrve para cambiar el título de un tiddler (por defecto "Nuevo Tiddler")
text/vnd.tiddlywiki, lo que significa que el tiddler contiene WikiText... y como tal lo interpreta.Cuando termines con la edición, pulsa uno de los botones que tienes arriba a la derecha del tiddler:
Las entradas de diario son tiddlers que usan fechas u horas como título. Son una forma rápida de registrar información que precisa de algún tipo de marca de tiempo.
En ellos puedes, como en cualquier otro tiddler, usar etiquetas para enlazar con otros y así establecer diferentes relaciones entre fragmentos de información que de otro modo estarían inconexos.
Por ejemplo: podemos usar una entrada de diario titulada 10 de octubre para registrar pensamientos e información diversa de aquel día. Las etiquetas shopping y Londres podrían servirnos, además de para indicarnos que esa fecha tiene que ver con estar de shopping en Londres, para etiquetar con ellas cualquier otra información relativa a ambos temas.
La manera más sencilla es mediante el botón de la pestaña Herramientas de la barra lateral. Si lo usas con frecuencia, pincha en la casilla para que aparezca entre los iconos que se muestran sobre el cuadro de búsqueda.
El botón crea un tiddler en blanco con etiqueta Diario y título derivado de la fecha de hoy. Si ya existe una entrada con esa misma fecha, entonces lo abre para su edición.
Es habitual, revisando u organizando notas o trabajando en grupo, crear una entrada con la fecha del día y etiquetarla con el título de los tiddlers que revisamos. Además de creando una entrada y escribiendo etiquetas manualmente, tenemos otra forma de hacerlo, que añade automáticamente las etiquetas:
Diario y la del título anterior, llevará ya la del nuevo.Pongamos por caso que estamos revisando un tiddler llamado Quijote. Del modo antes descrito, tendremos una entrada con la fecha del día y la etiqueta Quijote en la que hacer nuestras anotaciones, que guardamos y cerramos para seguir revisando notas.
Al rato, mientras revisamos otro tiddler llamado Hamlet, repetimos la operación y el resultado será la entrada del día abierta y lista para escribir en ella nuestra anotación, con las etiquetas Diario, Quijote y Hamlet añadidas automáticamente, sin riesgo de equivocarnos y sin tener que perder concentración rebuscando entre otras entradas.
Podemos configurar mínimamente cómo se crean las nuevas entradas de diario en la pestaña Básico, de la sección Información del panel de control
DD de MMM de YYYY da como resultado fechas del estilo "10 de octubre de 2014"DIario [[Vacaciones de verano]]...etcNota: Si quieres crear entradas separadas cada vez que pulses , aunque lo hagas varias veces el mismo día, puedes incluir la hora en el formato del título. Algo como YYYY-0MM-0DD a las 0hh0mm'0ss'' dará como resultado títulos del estilo 2016-06-08 a las 07:09:05
Nota2: Otro truco muy útil es incluir $(currentTiddler)$ en el título. Esto significa que si pulsas en un tiddler, su título, además de etiquetar la entrada, forma parte del título.
Este ejemplo muestra cómo, dentro de un un tiddler, se pueden mostrar subhistorias independientes de la historia principal.
Este es el código:
<$navigator story="MiSubHistoria" history="MiSubHistoria">
Haz clic en este enlace para empezar:[[¡Hola! ¿Qué tal?|HelloThere]]
<$list filter="[list[MiSubHistoria]]" history="MiSubHistoria">
<div>
! <$button message="tm-close-tiddler" class="tc-btn-invisible">{{$:/core/images/close-button}}</$button> <$view field="es-title"/>
<$transclude/>
</div>
</$list>
</$navigator>Ahora puedes abrir el tiddler ¡Hola! ¿Qué tal? como subhistoria haciendo clic en el siguiente enlace. Los enlaces de la subhistoria se abren en la subhistoria y no en la principal.
Haz clic en este enlace para empezar:¡Hola! ¿Qué tal?
¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?
BIenvenido a TiddlyWiki, un bloc de notas no lineal único para capturar, organizar y compartir información compleja.
Úsalo para mantener tu lista de tareas, para desarrollar un ensayo o novela, o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades.
Al revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy.
The csvtiddlers macro returns the fields of a selection of tiddlers in CSV form, with one record (row) per tiddler.
An example can be seen in the template tiddler for CSV exports.
quoted-comma-sepLa variable current tiddler proporciona el contexto en el que se interpretan diversos aspectos de WikiText.
Por ejemplo, {{!!title}} indica el valor del campo title de cualquier tiddler actual, sea este cual sea. Esta técnica puede usarse para crear plantillas de uso general.
El título del tiddler actual siempre se puede invocar con la variable currentTiddler.
Las dos formas principales en que se puede cambiar el tiddler actual son:
Por lo tanto, decir "el tiddler actual" no siempre equivale a decir tiddler que se está viendo o editando.
The currentTiddler variable contains the title of the current tiddler.
Several aspects of WikiText use this tiddler as their context. As a result, within a $list widget or a template tiddler, there is often no need to explicitly specify a tiddler title.
Compare storyTiddler.
The following two examples have the same meaning:
<$view field=title/>
<$view tiddler=<<currentTiddler>> field=title/>
This next example shows how the $list widget changes the current tiddler:
<ol>
<$list filter="[prefix[J]]">
<li><<currentTiddler>></li>
</$list>
</ol>
New in: 5.1.16
The TiddlyWiki core adds several attributes to the rendered content. These make it possible to apply custom styles to tiddlers.
For example this tiddler is tagged: and so the attribute looks like this:
data-tags="[[How to apply custom styles]] example-test"Important: Tiddler tags are not sorted so the order in the rendered output may be different!
The following CSS is defined in Custom data-styles and creates a pink border for all tiddlers (including this one) tagged with example-test.
[data-tags*="example-test"] {
border: 2px solid pink;
}So to display tiddlers tagged: data-tags-styles in a decent way we can use the following code. (I could have used: $:/tags/Stylesheet, but that would affect all stylesheets in this wiki, which is not intended. amt ;)
Important: Don't forget to also specify .tc-tiddler-body or the whole tiddler, including the title, will be changed! see: Custom data-styles
[data-tags*="data-tags-styles"] .tc-tiddler-body {
display: block;
padding: 14px;
margin-top: 1em;
margin-bottom: 1em;
word-break: normal;
word-wrap: break-word;
white-space: pre-wrap;
background-color: #f5f5f5;
border: 1px solid #cccccc;
padding: 0 3px 2px;
border-radius: 3px;
font-family: Monaco, Consolas, "Lucida Console", "DejaVu Sans Mono", monospace;
}This mechanism may be handy for users who want to write prose text! See: Hard Linebreaks with CSS
Learn more at: Attribute selectors - CSS or CSS-Specification
New in: 5.1.16
The TiddlyWiki core adds several attributes to the rendered content. With those attributes it's possible to apply custom styles to the tiddler content.
For example this tiddler is named: "Custom styles by data-tiddler-title" so the attribute looks like this:
data-tiddler-title="Custom styles by title"The following CSS is defined in Custom data-styles and creates a blue border for exactly this tiddler.
[data-tiddler-title="Custom styles by title"] {
border: 1px solid blue;
}To create a green border for every tiddler that starts with $:/ aka system tiddlers, you'd need to use CSS like so: (not applied here but you can experiment with it! )
[data-tiddler-title^="$:/"] {
border: 1px solid green;
}Learn more at: Attribute selectors - CSS or CSS-Specification
Tiddler Field: class New in: 5.1.16
The tag manager allows us to set a tiddler color field, that is used to define the "tag-pill" colour. Since: New in: 5.1.16 we can define a class field, that is directly inserted into the ViewTemplate and it can be used for styling:
title: anyName
tags: $:/tags/Stylesheet
class: myClass
Every tiddler, that has a class field can be styled that way!
.myClass {
border: 2px solid blue;
}
Learn more at: How to apply custom styles
Información para customizar TiddlyWiki
Por defecto, los resultados de búsquedas en la barra lateral se muestran como una simple lista de títulos de tiddler. La forma de mostrar los resultados puede modificarse a gusto mediante plugins de visualización. Si el sistema detecta visualizaciones adicionales, las mostrará en pestañas.
Las distintas visualizaciones de resultados se guardan en tiddlers con la etiqueta $:/tags/SearchResults. La lista por defecto de resultados de búsqueda está implementada en el sistema y reside en el tiddler $:/core/ui/DefaultSearchResultList.
Para crear una nueva visualización de resultados:
$:/tags/SearchResultssearchTiddler para acceder al título del tiddler que contiene el término de búsqueda actualSi quieres que sea la nueva visualización la que se muestre por defecto, crea un tiddler llamado $:/config/SearchResults/Default que contenga en el texto el título de la nueva visualización.
Este es un ejemplo de visualización alternativa que muestra los resultados en orden cronológicamente inverso:
\define searchResults()
<$set name="resultCount" value="""<$count filter="[!is[system]search{$(searchTiddler)$}]"/>""">
{{$:/language/Search/Matches}}
</$set>
<<timeline subfilter:"!is[system]search{$(searchTiddler)$}">>
\end
<<searchResults>>By default, a TiddlyWiki on Node.js instance using a wiki folder will create new tiddler files by using the sanitised and disambiguated title as filename.
This can be customised by creating a tiddler $:/config/FileSystemPaths containing one or more filter expressions, each on a line of its own. Newly created tiddlers are matched to each filter in turn, and the first output of the first filter to produce any output is taken as a logical path to be used for the tiddler file. Logical paths don't include the .tid extension, and they can use / or \ as directory separator (when generating the physical path, this is replaced by the correct separator for the platform TiddlyWiki is running on). If none of the filters matches, the logical path is simply the title with all occurences of / replaced by _ (for backwards compatibility).
In both cases, the characters <>:"\|?*^ are replaced by _ in order to guarantee that the resulting path is legal on all supported platforms.
[is[system]removeprefix[$:/]addprefix[_system/]]
[tag[task]addprefix[mytasks/]]
[!has[draft.of]]This will store newly created system tiddlers in tiddlers/_system (after stripping the $:/ prefix), tiddlers tagged task in a subdirectory tiddlers/mytasks, and also create subdirectory structures for all other non-draft tiddlers.
Thus, $:/config/FileSystemPaths itself will end up in tiddlers/_system/config/FileSystemPaths.tid or tiddlers\_system\config\FileSystemPaths.tid, depending on the platform.
The final [!has[draft.of]] will match all remaining non-draft tiddlers. Because there was a match, any / or \ in the tiddler title is mapped to a path separator. Thus, some/thing/entirely/new will be saved to tiddlers/some/thing/entirely/new.tid (ie, the file new.tid in a directory called entirely).
El plugin D3 integra en TiddlyWiki la librería de visualización D3.
Disponible en: https://tiddlywiki.com/plugins/tiddlywiki/d3/
You can create an n-dash with a double hyphen -- and an m-dash with a triple hyphen ---. For example – this is an example — and so is this
A data URI is a way of storing data (such as an image) in a way that is compatible with the addresses used by web pages and stylesheets to access external resources.
The datauri macro can be used to generate data URIs within TiddlyWiki.
Un tiddler de datos o DataTiddler es una base de datos en miniatura, contenida en un tiddler.
Existen dos formatos estándar:
Se pueden definir otros formatos para obtener bloques de datos que se comporten como tiddlers de datos.
Para buscar un valor por su nombre, usa una Referencia textual. Por ejemplo, si un diccionario llamado DiasdelMes contiene:
oct:31
nov:30
dec:31... entonces, {{MonthDays##nov}} devolverá el valor 30.
Lo mismo sucede si DiasdelMes es un tiddler JSON con el siguiente contenido:
{"oct":31,"nov":30,"dec":31}The datauri macro returns a data URI for the content of a tiddler.
It is often used in stylesheet tiddlers to reference things like inline images and fonts:
background: url(<<datauri "Motovun Jack.jpg">>);
The data URI is automatically base64-encoded in the case of a non-text tiddler.
<style>
.jack {
background: url(<$macrocall $name="datauri" title="Motovun Jack.jpg" $output="text/plain"/>);
height: 300px;
}
</style>
<div class="jack"/>
The example has to invoke datauri through the $macrocall widget. It needs to prevent the macro's output from being parsed as WikiText, as that would transform the data URI into a $link widget and break the example. If the example was in a CSS tiddler, you could simply write:
background: url(<<datauri "Motovun Jack.jpg">>);
Algunos campos de tiddler se usan para guardar fechas y horas.
Los dos campos estándar son created y modified.
El valor de estos campos es una cadena de 17 caracteres:
Para evitar cualquier problema derivado de posibles diferencias horarias, TiddlyWiki siempre usa horas UTC.
Como ejemplo, el campo created de este tiddler tiene el valor 20150117190213631.
Las fechas pueden formatearse convenientemente para mostrarlas en pantalla:
<$view field="created" format="date" template="DDD DD de MMM de YYYY"/>Este es su aspecto:
sábado 17 de enero de 2015
ViewWidget acepta un atributo de plantilla que permite dar formato a los valores de fecha que se especifiquen. La cadena que da formato a la fecha se procesa con arreglo a las siguientes sustituciones:
| Símbolo | Valor sustitutivo |
|---|---|
DDD | Día completo de la semana |
ddd | Día de la semana, abreviado |
DD | Día del mes |
0DD | Día del mes, con cero delante |
DDth | Añade sufijo al día |
WW | Número de semana ISO-8601 |
0WW | Número de semana, con cero delante |
MMM | Mes completo |
mmm | Mes, abreviado |
MM | Mes, en cifras |
0MM | Mes, en cifras, con cero delante |
YYYY | Año completo |
YY | Año, en dos cifras |
wYYYY | Año completo con respecto al número de semana |
wYY | Año en dos cifras con respecto al número de semana |
hh | Hora |
0hh | Hora, con cero delante |
hh12 | Hora, en ciclos de 12 horas |
0hh12 | Hora en ciclos de 12 horas, con cero delante |
mm | Minutos |
0mm | Minutos, con cero delante |
ss | Segundos |
0ss | Segundos, con cero delante |
am o pm | Indicador am/pm en minúsculas |
AM o PM | Indicador AM/PM en mayúsculas |
TZD | Huso horario |
\ | Escape de caracteres. Los caracteres así marcados no se interpretan |
Otro texto añadido al formato pasa sin cambios, de modo que se admiten comas, guiones, barras, dos puntos y otros separadores.
| Plantilla | Resultadao |
|---|---|
DDth de MMM de YYYY | 1º de mayo de 2011 |
DD MMM \M\M\M YYYY | 1 mayo MMM 2011 |
DD mmm hh:mm:ss | 1 may 2011 11:38:42 |
An interactive date picker plugin based on Pikaday. A demo can be found here: http://kixam.github.io/TW5-datePicker/.
datepicker is a TiddlyWiki plugin that allows you to use a widget much like EditTextWidget to pick a date, and optionaly a time. It shows a nice interactive mini-calendar when clicked, allows you to set a date format for display, and is compatible with core date fields such as
modifiedandcreated.
| purpose | filter the input by date |
|---|---|
| input | a selection of titles |
| suffix | F = the name of a date field, defaulting to modified |
| parameter | D = a { positive | negative } number of days, defaulting to 0 |
| output | those input tiddlers in which field F is D days in the { future | past } or any time { before | after } that, including { past | future } |
! output | those input tiddlers in which field F is at least D days in the { future | past } |
Select tiddlers where a specified date field (default "modified") is within a specified date range. Time portion is ignored.
[days[-14]]
[!days:created[-800]]
The filter can be used to highlight new items in a list. For example:
<ul>
<$list filter="[tag[ReleaseNotes]!<currentTiddler>!sort[modified]]">
<li>
<$link><$view field="title"/></$link>
<$list filter="[<currentTiddler>days[-180]]"> @@color:red;^^new^^@@</$list>
<$list filter="[<currentTiddler>days[-500]!days[-180]]"> @@color:black;^^recent^^@@</$list>
</li>
</$list>
</ul>
Este es su aspecto:
| purpose | apply HTML decoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with HTML decoding applied |
"HTML decoding" means replacing HTML entities that represent special characters with that character:
& replaced with & replaced with (non breaking space)< replaced with <> replaced with >" replaced with "[[Title with < angle brackets >]] +[decodehtml[]]
[[Title with an & ampersand]] +[decodehtml[]]
| purpose | apply URI decoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with URI decoding applied |
[[Title%20with%20Space]] +[decodeuri[]]
[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuri[]]
| purpose | apply URI component decoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with URI component decoding applied |
See Mozilla Developer Network for details of the decodeURIComponent operation.
[[Title%20with%20Space]] +[decodeuricomponent[]]
[[Title%20with%20Space]] [[Another%20title%20with%20Space]] +[decodeuricomponent[]]
"Default tiddlers" refers to the list of tiddlers that is opened at startup in the browser if the address bar does not include a permalink).
At startup, the text of the system tiddler $:/DefaultTiddlers is retrieved and evaluated as a filter expression. The resulting list of titles is then inserted into the story river.
The control panel info/basics tab includes a text box for direct access to $:/DefaultTiddlers.
These are definitions of technical words and phrases used in this documentation. (As distinct from the Concepts that make up TiddlyWiki itself).
HTML definition lists are created with this syntax:
; Term being defined
: Definition of that term
; Another term
: Another definition
Tiene este aspecto:
... y su código HTML es:
<dl><dt>Term being defined</dt><dd>Definition of that term</dd><dt>Another term</dt><dd>Another definition</dd></dl>
First of all: Keep calm!
In several fields, deprecation is the discouragement of use of some feature, design or practice; typically because it has been superseded or is no longer considered safe – but without completely removing it or prohibiting its use.
wikipedia
For TiddlyWiki it means, that you should not use this mechanism for new content anymore! AND you should update your existing content!
Deprecated features have a marker. see: Custom styles by tag
Tiddlers tagged $:/deprecated
Die deutsche Übersetzung von TiddlyWiki ist verfügbar unter:
Siehe auch: Deutsch (Österreich) Edition.
Die österreichische Übersetzung von TiddlyWiki ist verfügbar unter:
Siehe auch: Deutsch (Deutschland) Edition.
There are several resources for developers to learn more about TiddlyWiki and to discuss and contribute to its development.
Un tiddler diccionario es un tiddler de datos que contiene una simple lista de pares de nombre-valor.
Su tipo es application/x-tiddler-dictionary.
El campo text consta de una o más líneas con el formato name: value.
Una paleta de colores, es un ejemplo de diccionario.
New in: 5.1.16 The diff text widget analyses the differences between a pair of source and destination text strings and displays the results as highlighted insertions and deletions (similar to the "track changes" function of a word processor). For example:
Hey Jude, don't make it bad. Take a sad song and make it better. Remember tobe afraid. You were made to go out and get her. The minute you let her intounder your heart↩︎
skin. Then you can startbegin to make it better.The content of the <$diff-text> widget is rendered immediately before the diffs. Within it, the variable diff-count is available, containing the number of differences found. If the widget has no content then it automatically transcludes the tiddler $:/language/Diffs/CountMessage.
In other words, these three invocations are all equivalent:
<$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}> {{$:/language/Diffs/CountMessage}} </$diff-text> <$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}> </$diff-text> <$diff-text source={{FirstTiddler}} dest={{SecondTiddler}}/>
| Attribute | Description |
|---|---|
| source | The source text |
| dest | The destination text |
| cleanup | See below |
The cleanup attribute determines which optional post-processing should be applied to the diffs:
(Note that in many cases the results will be the same regardless of the cleanup option. See the docs of the underlying library for more details).
In this example we compare two texts:
<$edit-text tiddler="SampleTiddlerFirst"/>
<$edit-text tiddler="SampleTiddlerSecond"/>
<$diff-text source={{SampleTiddlerFirst}} dest={{SampleTiddlerSecond}}/>Este es su aspecto:
This is a test tiddler is called SampleTiddlerFirstSecond.Plugins can be disabled by creating a tiddler titled $:/config/Plugins/Disabled/ concatenated with the plugin title, and setting its text to yes.
For example, to disable the plugin $:/plugins/tiddlywiki/highlight, the title would be:
$:/config/Plugins/Disabled/$:/plugins/tiddlywiki/highlightNunca has visto nada parecido a esto. TiddlyWiki es:
TiddlyWiki es, antes que nada, una herramienta libre y gratuita que se puede descargar para capturar y organizar contenidos: de la web, de tus documentos o directamente de tu cerebro. Es una herramienta para tomar notas, marcar y fijar referencias, escribir, administrar proyectos y tareas, colaborar en equipo, escribir un blog o publicar.
En TiddlyWiki creas o pegas contenidos en notas que llamamos tiddlers y las conectas entre sí con enlaces y etiquetas, de modo que puedas recuperarlas rápidamente mediante TagPills, pestañas y la ventana ultrarrápida de búsqueda de TIddlyWiki. También puedes incluir dinámicamente el contenido de un tiddler dentro de otro –como si jugaras con bloques de construcción– para crear artículos, listas, presentaciones y más.
Además de una herramienta versátil, TiddlyWiki es también una caja de herramientas
Donde otros productos para tomar notas te enganchan con un programa muy básico y luego te cobran por las características realmente útiles, TiddlyWiki cuenta con una creciente colección totalmente gratuita de temas visuales, paletas de color, plugins, widgets y macros que puedes combinar como prefieras para obtener un TiddlyWiki a medida y de la forma que tú y sólo tú quieres.
Somos una comunidad de usuarios y desarrolladores que se ayuda mutuamente a imaginar nuevas formas de pensar, organizar y crear nuevas soluciones, de modo que TiddlyWiki evoluciona y se adapta contínuamente a tus necesidades. Los usuarios y desarrolladores de TiddlyWiki compartimos preguntas y consejos en el Grupo de Google de TiddlyWiki. También creamos tutoriales, adaptaciones y plugins para mejorar la experiencia de uso de TiddlyWiki. En la sección Comunidad del índice encontrarás más información al respecto.
El propósito de tomar notas y organizarlas es el poder recuperarlas más tarde para su uso. Si no hay forma de encontrar lo que buscas en el momento en que lo necesitas, tu programa de notas es, sencillamente, una monumental pérdida de tiempo.
Para la filosofía de TiddlyWiki, la mejor forma de tomar notas es fragmentando la información en sus unidades semánticas significativas más pequeñas. A estas unidades las llamamos tiddlers. Un tiddler puede ser una imagen, la dirección de una página, un concepto, la definición de un término o una adaptación especial, como, por ejemplo, una macro.
Estos tiddlers pueden luego entretejerse para crear con ellos unidades mayores de información: historias, artículos, listas, galerías de imágenes y mucho más. Las herramientas de TiddlyWiki como etiquetas, enlaces y filtros están especialmente diseñadas para relacionar y conectar tiddlers entre sí de múltiples maneras, facilitando así la futura recuperación de notas y permitiendo incluso descubrir relaciones inesperadas entre tiddlers y la información que contienen.
The DOM of a web page is a tree-shaped model of its content, maintained internally by the web browser as the user interacts with that content. Each point in the tree is called a node.
When TiddlyWiki is running in a web browser, its widgets are rendered into DOM nodes for display.
When TiddlyWiki is running on Node.js, it uses a fake DOM to simulate the behaviour of a browser.
Las siguientes son macros utilizadas en la documentación de TiddlyWiki. Sus nombres comienzan con un punto para mantenerlas fuera del alcance accidental de nombres con los que el usuario pueda intentar experimentar.
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .def | definición de un término | widget |
| .em | énfasis menor en una frase | cualquiera |
| .strong | énfasis mayor en un tiddler | ¡Importante! |
| .place | texto comodín | tagname |
| .word | mencionar una palabra o frase | "hello world" |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .tip | señalar consejos y recomendaciones | |
| .warning | señalar advertencias |
| Macro | Se usa para |
|---|---|
| .preamble | enfatizar un preámbulo o un párrafo que sobresale del resto del texto |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .tid | referirse al título de un tiddler | Título de ejemplo |
| .tag | referirse a una etiqueta | Etiqueta de ejemplo |
| .field | referirse al campo de un tiddler | campo de ejemplo |
| .value | referirse al valor de un campo | valor de ejemplo |
| .op | referirse a un operador de filtro | backlinks |
| .var | referirse a una variable o nombre de macro | currentTiddler |
| .wid | referirse al nombre de un widget | $list |
| .attr | referirse al nombre de un atributo | filter |
| .param | referirse al nombre de un parámetro de macro | text |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .link | señalar enlaces con WikiText | esto es |
| .clink | señalar links con formato de código | <$list> |
| .dlink | señalar links internos con formato de definición | widget |
| .dlink-ex | señalar links externos con formato de definición | Ejemplo |
| .flink | señalar enlaces a campos | list |
| .mlink | señalar enlaces a macros | qualify |
| .mlink2 | señalar enlaces a macros, con targets específicos | foo |
| .olink | señalar enlaces a operadores de filtro | prefix |
| .olink2 | señalar enlaces a operadores de filtro con targets específicos | foo |
| .vlink | señalar enlaces a variables | currentTiddler |
| .vlink2 | señalar enlaces a variables, con targets específicos | foo |
| .wlink | señalar enlaces a widgets | $button |
| .wlink2 | señalar enlaces a widgets con texto específico | foo |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .key | indicar una tecla del teclado | Escape |
| .keycombo | indicar combinaciones de teclas | Ctrl+Enter |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .sidebar-tab | invocar el nombre de una pestaña de la barra lateral | Más |
| .more-tab | invocar el nombre de una subpestaña de la pestaña Más | Ocultos |
| .info-tab | invocar el nombre de una pestaña del InfoPanel | Campos |
| .controlpanel-tab | invocar el nombre de una pestaña del Panel de Control | Configuración |
| .advancedsearch-tab | invocar el nombre de una pestaña del cuadro de búsqueda avanzada | Filtro |
| .toc-tab | invocar el nombre del índice de tw5.com | Contenido |
| .example-tab | indicar un ejemplo de nombre de pestaña | Ejemplo |
| Open | Abiertos |
| Recent | Recientes |
| Tools | Herramientas |
| More | Más |
| All | Todos |
| Recent | Recientes |
| Tags | Etiquetas |
| Missing | Vacíos |
| Drafts | Borradores |
| Orphans | Huérfanos |
| Types | Tipos |
| System | Sistema |
| Shadows | Ocultos |
| Tools | Herramientas |
| References | Referencias |
| Tagging | Etiquetado |
| List | Lista |
| Listed | En lista de |
| Fields | Campos |
| Advanced | Avanzado |
| Info | Información |
| Appearance | Aspecto |
| Settings | Configuración |
| Saving | Servidor |
| Plugins | Plugins |
| Standard | Estándar |
| System | Sistema |
| Shadows | Ocultos |
| Filter | Filtro |
| Macro | Se usa para | Ejemplo |
|---|---|---|
| .button | insertar el nombre y el icono de un botón estándar |
| clone | |
| close | |
| close-others | |
| edit | |
| export-tiddler | |
| info | |
| more-tiddler-actions | |
| new-here | |
| new-journal-here | |
| permalink |
| cancel | |
| delete | |
| save |
| advanced-search | |
| close-all | |
| control-panel | |
| encryption | |
| export-page | |
| full-screen | |
| home | |
| import | |
| language | |
| more-page-actions | |
| new-journal | |
| new-tiddler | |
| permaview | |
| refresh | |
| save-wiki | |
| storyview | |
| tag-manager | |
| theme |
La documentación de TiddlyWiki intenta seguir un estilo editorial consistente. Consta de dos áreas, cada una de ellas con su propio tono y dirigida a un público específico, así evitamos saturar de información al lector principiante mientras aún podemos ofrecer acceso rápido a la información que el lector experto necesita.
Temas adicionales:
Los filtros manipulan conjuntos de títulos en los que ningún título puede aparecer más de una vez. Muchas veces necesitan anexar unos conjuntos a otros.
En estos casos, la anexión se realiza de modo que si hubiera un título duplicado, se descarta el más antiguo y decimos que los títulos así anexados son dominantes.
Por ejemplo: si una selección contiene los títulos A, B, C, D y se anexa la selección compuesta por A, BB, C, DD, el resultado es B, D, A, C, BB, DD (En primer lugar, los títulos no duplicados de la primera selección, en segundo, la versión más nueva de los duplicados y en último, los no duplicados de la segunda selección).
Tiddlers that have a draft.of field are treated as pending drafts of the tiddler specified in the field. Draft tiddlers should also have a draft.title field that specifies the title that will be given to the tiddler when it is saved.
Several features work in concert to give the desired behaviour for draft tiddlers:
tm-new-tiddler for creating a new tiddler in draft modetm-edit-tiddler for moving a tiddler into edit mode tm-cancel-tiddler for cancelling a tiddler out of edit modetm-save-tiddler for saving a draft tiddlerTiddlyWiki uses drag and drop to power two separate features:
Tiddler manipulation via drag and drop is supported by the core user interface in the following contexts:
All tiddler links are draggable by default. They can be dragged within a browser window for manipulating tiddlers, or dragged to a different browser window to initiate an import operation
If you want to drag a link, first move it vertically, because horizontal movement is recognized by the browser as text selection.
Tag pills are also draggable, and are equivalent to simultaneously dragging all of the individual tiddlers carrying the tag.
Some common scenarios for drag and drop tiddler manipulation are available as reusable macros:
See DragAndDropMechanism for details of how to use the low level drag and drop primitives to build more complex interactions.
The standard HTML 5 drag and drop APIs used by TiddlyWiki are not generally available on mobile browsers on smartphones or tablets. The Mobile Drag And Drop Shim Plugin adds an open source library that implements partial support on many mobile browsers, including iOS and Android.
This tiddler discusses the internal mechanisms that are used to implement drag and drop features in TiddlyWiki. See Drag and Drop for a general description of the features.
The following widgets are concerned with drag and drop features:
The general sequence of a drag and drop operation is as follows:
The DraggableWidget creates a DOM element that can be dragged by the user. It only works on browsers that support drag and drop, which typically means desktop browsers, but there are workarounds.
The draggable element can be assigned a list of tiddlers that are used as the payload. If desired it can invoke actions when dragging starts and when it ends. See DragAndDropMechanism for an overview.
| Attribute | Description |
|---|---|
| tiddler | Optional title of the payload tiddler for the drag |
| filter | Optional filter defining the payload tiddlers for the drag |
| class | Optional CSS classes to assign to the draggable element. The class tc-draggable is added automatically, and the class tc-dragging is applied while the element is being dragged |
| tag | Optional tag to override the default "div" element |
| startactions | Optional action string that gets invoked when dragging starts |
| endactions | Optional action string that gets invoked when dragging ends |
Either or both of the tiddler and filter attributes must be specified in order for there to be a payload to drag.
The actionTiddler variable is accessible in both startactions and endactions. It holds the payload tiddler(s) specified through the tiddler attribute.
The LinkWidget incorporates the functionality of the DraggableWidget via the draggable attribute.
The droppable widget creates a DOM element onto which dragged items can be dropped by the user, triggering the specified actions. It only works on browsers that support drag and drop, which typically means desktop browsers, but there are workarounds.
See DragAndDropMechanism for an overview.
| Attribute | Description |
|---|---|
| actions | Actions to be performed when items are dropped |
| class | Optional CSS classes to assign to the draggable element. The class tc-droppable is added automatically, and the class tc-dragover is applied while an item is being dragged over the droppable element |
| tag | Optional tag to override the default of a "div" element when the widget is rendered in block mode, or a "span" element when it is rendered in inline mode |
Within the action string, there are two Variables generated by the DroppableWidget:
If multiple items are dropped then the actions are performed repeatedly, once for each dropped item.
This example displays a palette of icons. Dragging a tiddler onto one of the icons assigns that icon to the tiddler.
Similarly, this example shows a palette of colours. Dragging a tiddler onto one of the colours assigns that colour to be used for rendering the icon of the tiddler.
The dropzone widget creates an area into which the user can drag files and other objects. It also supports pasting via the clipboard, although browser support is currently limited.
It sends a WidgetMessage: tm-import-tiddlers carrying a JSON representation of the tiddlers to be imported up through its parents. This message usually trapped by the NavigatorWidget which adds the tiddlers to the store and updates the story to display them.
| Attribute | Description |
|---|---|
| deserializer | New in: 5.1.15 Optional name of deserializer to be used (by default the deserializer is derived from the file extension) |
The list of available deserializers can be inspected by executing Object.keys($tw.Wiki.tiddlerDeserializerModules).sort().join("\n") in the browser JavaScript console.
The dropzone widget displays any contained content within the dropzone.
The dropzone widget creates an HTML <div class="tc-dropzone"> to contain its content. During a drag operation the class tc-dragover is added. CSS is used to provide user feedback.
The following data transfer types are supported:
The dumpvariables macro returns a table showing the values of all variables and macros that exist at that position in the widget tree.
It is useful for debugging and exploring TiddlyWiki's internals.
Placeholders are replaced with values in the normal way, but using the default values for all macro parameters.
(none)
<$set name="EXAMPLE" value="123..789">
<$set name="EXAMPLE2" value="456">
<<dumpvariables>>
</$set>
</$set>
The Dynaview Plugin makes it possible to build user interfaces that dynamically respond to changes in the browser viewport via scrolling or zooming:
See the demo at https://tiddlywiki.com/plugins/tiddlywiki/dynaview
| purpose | select one of each group of input titles by field |
|---|---|
| input | a selection of titles |
| suffix | optionally, list-item or value |
| parameter | F = the name of a field, defaulting to title |
| output | a selection containing the first input title encountered for each distinct value of field F |
Each input title is processed in turn. The value of field F in the corresponding tiddler is examined.
If a tiddler does not contain field F, it is treated as if the value of the field were empty.
[each[color]]
[sort[title]each[type]]
[each:list-item[list]]
[[Non existing]] [[GettingStarted]] +[each:value[]]
+[each[]] below[[Non existing]] [[GettingStarted]] +[each[]]
+[each:value[]] aboveFor an example of using the each operator to generate a two-tier list of groups and members, see GroupedLists.
| purpose | select one of each group of input titles by date |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a date field, defaulting to modified |
| output | a selection containing the first input title encountered for each distinct value (ignoring times of day) of field F |
Each input title is processed in turn. The value of field F in the corresponding tiddler is examined, and as long as this indicates a date that has not been encountered before, the title is appended to the output.
If a tiddler doesn't contain field F, it contributes nothing to the output.
[eachday[created]]
For an example of using the eachday operator to generate a two-tier list of groups and members, see GroupedLists.
La edición española de TiddlyWiki se encuentra aquí:
The edit bitmap widget provides a user interface in the browser for editing bitmap tiddlers.
The content of the <$edit-bitmap> widget is ignored.
| Attribute | Description |
|---|---|
| tiddler | The tiddler to edit (defaults to the current tiddler) |
The edit bitmap widget can be configured with these system tiddlers:
Michael Fogleman ha escrito tid-mode, un modo de edición para Emacs con el fin de editar los archivos .tid de TiddlyWiki. Deriva de text-mode, se vale de los útiles minor modes org-struct y subword y actualiza los tiempos de modificación al guardar un archivo .tid.
Redactó también dos funiones de ayuda para editar TiddlyWiki con Emacs. El primero abre un directorio de tiddlers en Dired. El segundo abre TiddlyWiki en el navegador.
(defun open-wiki ()
"Abre un directorio de TiddlyWiki en Dired."
(interactive)
(dired "~/Dropbox/wiki/tiddlers/"))(defun browse-wiki ()
"Abre TiddlyWiki en el navegador."
(interactive)
(browse-url "127.0.0.1:8080/"))Esta última función puede requerir que se indique un navegador:
(setq browse-url-browser-function 'browse-url-generic
browse-url-generic-program "chromium")Puedes vincular cualquiera de estas funciones con la función global-set-key:
(global-set-key (kbd "C-c w") 'open-wiki)Por el momento, no están integradas en tid-mode.
Devin Weaver ha escrito un plugin para Vim, publicado en https://github.com/sukima/vim-tiddlywiki
Soporta la mayor parte de la sintaxis de TiddlyWiki e incluye un plugin que actualiza automáticamente el campo modified.
| purpose | select the descriptions of the input editions |
|---|---|
| input | a selection of edition names |
| parameter | none |
| output | the description string of each edition in the input |
Each input title is processed in turn, ignoring any that is not the name of a TiddlyWiki edition.
TiddlyWiki se distribuye en distintas ediciones, especialmente concebidas para servir a un propósito determinado.
Una edición consta de los componentes del núcleo de TiddlyWiki, así como plugins, documentación y ejemplos de contenido para que puedas ponerte en marcha lo antes posible.
Los componentes de las diferentes ediciones pueden combinarse y modificarse de modo que construyas la mejor solución para tu aplicación particular.
| purpose | select the names of all the TiddlyWiki editions |
|---|---|
| input | ignored |
| parameter | none |
| output | the name of each TiddlyWiki edition, in alphabetical order |
Lista y descripción de las ediciones disponibles.
Puedes crear una edición específica con el comando --init.
--editionsThe editor toolbar is a toolbar, to help you format text easily. It appear above the text input field in a tiddler when in edit mode. It have a similar appearance to desktop text editors like Microsoft Word or Libre Office Write.
When you press the button for a function, it will insert the WikiText in the text field. As an example, if you press the bold button it will insert '' ''.
If you highlight a piece of text the markup code will automatically go around the highlighted text.
if you are in another mode, like MarkDown, the toolbar will change to that syntax and insert appropriate code. However It will not change already typed text or markup.
Beside the standard WikiText formatting, the Editor toolbar have the following buttons:
The edit text widget provides a user interface in the browser for editing text tiddler fields. The editing element is dynamically bound to the underlying tiddler value: changes to the tiddler are instantly reflected, and any edits are instantly propogated.
By default, applying the EditTextWidget to the text field of a tiddler will generates an HTML <textarea> element, i.e. a multi-line editor. Applying the EditTextWidget to any other field generates an HTML <input type="text"> element, a single-line editor. This behaviour can be overridden with the tag and type attributes.
The content of the <$edit-text> widget is ignored.
| Attribute | Description |
|---|---|
| tiddler | The tiddler to edit (defaults to the current tiddler) |
| field | The field to edit (defaults to text). Takes precedence over the index attribute |
| index | The index to edit |
| default | The default text to be provided when the target tiddler doesn't exist |
| class | A CSS class to be assigned to the generated HTML editing element |
| placeholder | Placeholder text to be displayed when the edit field is empty |
| focusPopup | Title of a state tiddler for a popup that is displayed when the editing element has focus |
| focus | Set to "yes" or "true" to automatically focus the editor after creation |
| tag | Overrides the generated HTML editing element tag. For a multi-line editor use tag=textarea. For a single-line editor use tag=input |
| type | Overrides the generated HTML editing element type attribute |
| size | The size of the input field (in characters) |
| autoHeight | Either "yes" or "no" to specify whether to automatically resize textarea editors to fit their content (defaults to "yes") |
| minHeight | Minimum height for automatically resized textarea editors, specified in CSS length units such as "px", "em" or "%" |
| rows | Sets the rows attribute of a generated textarea |
One trap to be aware of is that the edit text widget cannot be used to edit a field of the tiddler that contains it. Each keypress results in the tiddler being re-rendered, which loses the cursor position within the text field.
Instead, place the edit text widget in a template that references the tiddler you want to modify.
For example, if you wanted the tiddler GettingStarted to edit the value of the "myconfig" field of the tiddler "AppSettings", you might do so by creating a separate tiddler "ChangeAppSettings" that contains the following:
<$edit-text tiddler="AppSettings" field="myconfig"/>And reference the template in any other tiddler (e.g. GettingStarted) with {{ChangeAppSettings}}.
This works when your use of the tiddler is not the AppSettings itself which would cause a recursion problem. In this latter case you have to save the fields to a temporary (or alternative) tiddler (sort of the reverse of above) like so:
<$edit-text tiddler="StoreAppSettings" field="myconfig"/>In short the EditTextWidget can not change properties of the tiddler it is embedded in or part of. It can only change fields of other tiddlers. One could use ShadowTiddlers to accomplish the field storage if needed.
The edit widget provides a general purpose interface for editing a tiddler. It dynamically chooses the appropriate widget depending on the type of the tiddler (currently either the EditTextWidget or the EditBitmapWidget).
The content of the <$edit> widget is ignored.
| Attribute | Description |
|---|---|
| tiddler | The tiddler to edit (defaults to the current tiddler) |
| field | The field to edit (defaults to text). Takes precedence over the index attribute |
| index | The index to edit |
| class | A CSS class to be added the generated editing widget |
This method is useful if, for any reason, you should find your current TiddlyWiki instance is not saving (e.g. a plugin or a server has stopped working). It should work on just about any platform.
[!is[system]!sort[modified]limit[25]]tiddlers.json file can be imported (tools in sidebar) or drag and drop the file on the top line of the story river of another TW . import.La edición básica de TiddlyWiki es una distribución sin modificar del núcleo de TiddlyWiki, sin otros plugins ni configuración adicional instalados.
Puede descargarse desde:
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
| purpose | apply HTML encoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with HTML encoding applied |
"HTML encoding" means replacing special HTML characters with the corresponding HTML entity:
& replaced with &< replaced with <> replaced with >" replaced with "[[Title with <angle brackets>]] +[encodehtml[]]
[[Title with an & ampersand]] +[encodehtml[]]
| purpose | apply URI encoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with URI encoding applied |
[[Title with Space]] +[encodeuri[]]
[[Title with Space]] [[Another title with Space]] +[encodeuri[]]
| purpose | apply URI component encoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with URI component encoding applied |
See Mozilla Developer Network for details of the encodeURIComponent operation.
[[Title with Space]] +[encodeuricomponent[]]
[[Title with Space]] [[Another title with Space]] +[encodeuricomponent[]]
Usado como archivo único de HTML, TiddlyWiki5 permite encriptar el contenido mediante la Stanford JavaScript Crypto Library.
TiddlyWIki ofrece otras dos funciones de encriptación, sin relación con esta:
The encrypt widget renders a filtered list of tiddlers to an encrypted block with the password currently held in the PasswordVault. The encrypted block can subsequently be decrypted by the TiddlyWiki5 BootMechanism. See the EncryptionMechanism for more details.
The content of the <$encrypt> widget is ignored.
| Attribute | Description |
|---|---|
| filter | Filter defining the tiddlers to be included in the encrypted block. If not specified then all non-system tiddlers are used |
| purpose | select titles from the operand interpreted as a title list |
|---|---|
| input | ignored |
! input | a selection of titles |
| parameter | L = a title list |
| output | the titles stored as a title list at L |
! output | those input titles that are not listed in L |
<$set name="myList" value="first [[second with a space]] third">
<$list filter="[enlist<myList>]">
...The entity widget displays a specified HTML character entity.
The content of the <$entity> widget is not used.
| Attribute | Description |
|---|---|
| entity | The entity to display (eg, ×) |
TiddlyWiki on Node.js supports the following OS environment variables for specifying a delimited list of paths to search for plugins and editions:
TIDDLYWIKI_PLUGIN_PATH - Search path for ordinary pluginsTIDDLYWIKI_THEME_PATH - Search path for themesTIDDLYWIKI_LANGUAGE_PATH - Search path for languagesTIDDLYWIKI_EDITION_PATH - Search path for editions (used by the InitCommand)Note: The delimiter may vary between operating systems. While on Windows a semicolon ; is used, Linux implements a colon :.
The additional paths should each point to folders structured like the equivalent directories in the TiddlyWiki5 GitHub repository: the plugin, theme and language directories contain publisher/pluginname/<files> while the edition directories contain editionname/<files>
For example:
TIDDLYWIKI_PLUGIN_PATH=~/MyPluginStore
tiddlywiki mywiki --build index| purpose | escape special characters used in regular expressions |
|---|---|
| input | a selection of titles |
| output | the input with escaping applied to special regular expression characters |
See Mozilla Developer Network for details of the regular expression syntax.
I collect my tw5 creations on-line as http://eucaly-tw5.tiddlyspot.com/
Available Plugins :
{
"name": "MyStuff",
"description": "A description of this wiki",
"dependencies": {
"sax": "1.2.4",
"tiddlywiki": "*"
}
}<div class="tc-table-of-contents">
<<toc-selective-expandable "Contents">>
</div>
<div class="tc-table-of-contents">
<<toc-expandable "Contents" "sort[title]">>
</div>
Select a topic in the table of contents. Click the arrow to expand a topic.
<$macrocall
$name="toc-tabbed-external-nav"
tag="TableOfContents"
selectedTiddler="$:/temp/toc/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>
Select a topic in the table of contents. Click the arrow to expand a topic.
<$macrocall
$name="toc-tabbed-internal-nav"
tag="TableOfContents"
selectedTiddler="$:/temp/toc/selectedTiddler"
unselectedText="<p>Select a topic in the table of contents. Click the arrow to expand a topic.</p>"
missingText="<p>Missing tiddler.</p>"
/>{
"description": "My wiki",
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
]
}
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add
name="httpplatformhandler"
path="*"
verb="*"
modules="httpPlatformHandler"
resourceType="Unspecified"
requireAccess="Script" />
</handlers>
<httpPlatform
stdoutLogEnabled="true"
stdoutLogFile=".\node.log"
startupTimeLimit="20"
processPath="C:\Program Files\nodejs\node.exe"
arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp">
<environmentVariables>
<environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" />
<environmentVariable name="NODE_ENV" value="Production" />
</environmentVariables>
</httpPlatform>
</system.webServer>
</configuration>
Esta es una muestra de algunos interesantes ejemplos de uso de TiddlyWiki en la web.
Envía más ejemplos que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo
A personal website built with TiddlyWiki.
TriTarget.org is a name I came up with in high school. I was big into computer programming and wanted a company name that was kinda catchy. When I made a few programs in BASIC I would brand them with TriTarget as a way to show off my company (Even though I didn't have one).
Sistema para crear planes docentes, construido con TiddlyWiki
Construí un programa que sirviera de ayuda para la redacción y planifiación de leciones y que automatizara algunas de las tediosas tareas envueltas en la creación de un plan dociente. <<<
Introducción de Dave Gifford al libro bíblico de Abdías, que usa la macro Índice y varios ajustes personalizados de TiddlyWiki: botones "nuevo aquí", esta plantilla personalizada de visualización para añadir notas e imágenes dentro de cualquier tiddler y un tiddler de transclusión para facilitar la impresión (este tiddler)
Juego sencillo, construido en TiddlyWiki, presentado en A simple game built with TiddlyWiki, presentado en este post.
http://zorklike.tiddlyspot.com
Quise ver si era posible hacer algún tipo de juego usando sólo el núcleo de TiddlyWiki, sin plugins ni JavaScript. Hice una versión muy esquemática de juego de ficción al estilo de Zork. Es lo más sencillo que se puede hacer y que se pueda llamar juego, pero puede que le añada cosas más adelante. Lo hice en la versión 5.1.5 prerelease, porque el widget action-setfield ahorra mucho tiempo de definir macros.
Una de las finalidades es no usar nada más que lo que contiene el núcleo de TiddlyWiki, tal cual: sin usar JavaScript ni plugin alguno.
Guía para arreglar un repositorio roto de Git, al estilo elige tu propia aventura
http://sukima.github.io/GitFixUm/
Este documento es un intento de hacer una guía bastante exhaustiva para recuperar un repositorio de Git de lo que no tenías intención de hacer.
No es que Git sea tan complicado que necesites todo un libro para resolver tu problema en particular, sino que el abanico de cosas que puedes haber hecho para armar lío es tan grande, que se necesitan varias técnicas para solucionarlo, dependiendo de qué hayas hecho y de qué querías hacer.
Intérprete rápido de de Forth para el Commodore PET, escrito en lenguaje ensamblador 6502. El TiddlyWiki que contiene documentación del programa se genera automáticamente de la fuente: ver: https://github.com/chitselb/pettil.
http://chitselb.com/files/tiddlypettil.html
Los objetivos del proyecto son, sin ningún orden en particular:
- hacer un Forth que funcione en mi Commodore PET 2001
- divertirme
- desarrollar mi pericia con el "6502 assembly golf"
- encontrar otra gente interesada en este proyecto
Cuaderno de tesis basado en TiddlyWiki
Este es un ejemplo de cuaderno de tesis, construido sobre TiddlyWiki 5.0.8-beta.
TiddlyWiki es un gran programa creado por Jeremy Ruston. Te permite, entre otras cosas, tomar notas, organizar ideaas, guardar información y ver todas tus cosas de la forma que queres. Es una herramiente increíblemente flexible que puedes adaptar para que satisfaga casi todas tus necesidades.
Este TiddlyWiki ha sido adaptado para servir de cuaderno de notas de filosofía, centrado en autores, libros y artículos, conceptos y teorías, además de notas personales. Lo uso junto con Zotero, que es un programa de bibliografía. Ambos son proyectos gratuitos de código abierto. TiddlyWiki se puede descargar de https://tiddlywiki.com
The External Attachments Plugin provides support for importing tiddlers as external attachments. That means that instead of importing binary files as self-contained tiddlers, they are imported as "skinny" tiddlers that reference the original file via the _canonical_uri field. This reduces the size of the wiki and thus improves performance. However, it does mean that the wiki is no longer fully self-contained.
This plugin only works when using TiddlyWiki with platforms such as TiddlyDesktop that support the path attribute for imported/dragged files.
Por imágenes externas nos referimos en tiddlywiki a tiddlers que, en lugar de incrustarla, apuntan a la URI de una imagen. Se trabaja más rápido que con imágenes incrustadas, especialmente si el wiki contiene gran número de imágenes o imágenes muy grandes. Sin embargo, supone abandonar la política inicial de "único archivo" de TiddlyWiki.
Las imágenes esternas se usan en el navegador. Puede crearlas la configuración de Node.js al construir TiddlyWiki o pueden crearse manualmente en el navegador.
Una imagen externa es un tiddler de imagen que contiene el campo _canonical_uri cuyo valor es la URI de la imagen en cuestión. La URI puede ser absoluta o relativa al documento HTML. El campo text de un tiddler se ignora o se omite cuando se proporciona URI canónica de una imagen externa.
Para crear manualmente una imagen externa, simplemente crea un tiddler con el tipo apropiado de contenido y añade el campo _canonical_uri indicando la ruta actual a la imagen.
Para crear un archivo HTML estático de TiddlyWiki acompañado por una carpeta de imágenes externas referenciadas en el HTML
Las imágenes deben añadirse a la subcarpeta antes de externalizar los tiddlers. El campo _canonical_uri invalida el campo text del tiddler, lo que lleva consigo que cualquier ulterior intento de guardado fallará.
Como ejemplo, véase el target externalimages de la demo "tw5.com":
--savetiddlers [is[image]] images
--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
--setfield [is[image]] text "" text/plain
--rendertiddler $:/core/save/all externalimages.html text/plainPara guardar las imágenes de un wiki en una subcarpeta images puede usarse el comando --savetiddlers de la siguiente manera:
--savetiddlers [is[image]] imagesSe usan dos comandos --setfield: el primero establece el campo con valor derivado del título del tiddler. El segundo limpia el campo text.
--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
--setfield [is[image]] text "" text/plainLa plantilla $:/core/templates/canonical-uri-external-image contiene:
<!-- This template is used to assign the ''_canonical_uri'' field to external images. Change the `./images/` part to a different base URI. The URI can be relative or absolute. --> ./images/<$view field="title" format="doubleurlencoded"/>
No es posible editar una imagen externa directamente en el navegador, salvo para editar la URI de forma que apunte a otra imagen.
Más información sobre características específicas de TiddlyWiki:
...y por último, pero no por ello menos importante: TiddlyWiki es un raro y práctico ejemplar de quine
Federatial Limited is a software consultancy founded by JeremyRuston, the creator of TiddlyWiki. Federatial helps organisations explore new user interaction concepts through rapid prototyping of sophisticated web-based tools.
See https://federatial.com/ and https://twitter.com/federatial for more information.
Fetch one or more files over HTTP/HTTPS, and import the tiddlers matching a filter, optionally transforming the incoming titles.
--fetch file <url> <import-filter> <transform-filter>
--fetch files <url-filter> <import-filter> <transform-filter>
--fetch raw-file <url> <transform-filter>
--fetch raw-files <url-filter> <transform-filter>The "file" and "files" variants fetch the specified files and attempt to import the tiddlers within them (the same processing as if the files were dragged into the browser window). The "raw-file" and "raw-files" variants fetch the specified files and then store the raw file data in tiddlers, without applying the import logic.
With the "file" and "raw-file" variants only a single file is fetched and the first parameter is the URL of the file to read.
With the "files" and "raw-files" variants, multiple files are fetched and the first parameter is a filter yielding a list of URLs of the files to read. For example, given a set of tiddlers tagged "remote-server" that have a field "url" the filter [tag[remote-server]get[url]] will retrieve all the available URLs.
For the "file" and "files" variants, the <import-filter> parameter specifies a filter determining which tiddlers are imported. It defaults to [all[tiddlers]] if not provided.
For all variants, the <transform-filter> parameter specifies an optional filter that transforms the titles of the imported tiddlers. For example, [addprefix[$:/myimports/]] would add the prefix $:/myimports/ to each title.
Preceding the --fetch command with --verbose will output progress information during the import.
Note that TiddlyWiki will not fetch an older version of an already loaded plugin.
The following example retrieves all the non-system tiddlers from https://tiddlywiki.com and saves them to a JSON file:
tiddlywiki --verbose --fetch file "https://tiddlywiki.com/" "[!is[system]]" "" --rendertiddler "$:/core/templates/exporters/JsonFile" output.json text/plain "" exportFilter "[!is[system]]"The following example retrieves the "favicon" file from tiddlywiki.com and saves it in a file called "output.ico". Note that the intermediate tiddler "Icon Tiddler" is quoted in the "–fetch" command because it is being used as a transformation filter to replace the default title, while there are no quotes for the "–savetiddler" command because it is being used directly as a title.
tiddlywiki --verbose --fetch raw-file "https://tiddlywiki.com/favicon.ico" "[[Icon Tiddler]]" --savetiddler "Icon Tiddler" output.ico| purpose | filter the input by field |
|---|---|
| input | a selection of titles |
| suffix | F = the name of a field |
| parameter | S = a possible value of field F |
| output | those input tiddlers in which field F has the value S |
! output | those input tiddlers in which field F does not have the value S |
If S is empty, field will match both of the following:
FF exists but has an empty valueThe syntax of a filter step treats any unrecognised filter operator as if it was the suffix to the field operator. See the examples.
<$fieldmangler>
Add tag ''example'' to this tiddler (current)<$button message="tm-add-tag" param="example">{{$:/core/images/new-button}}</$button>
<br>
Remove tag ''example'' to this tiddler (current)<$button message="tm-remove-tag" param="example">{{$:/core/images/delete-button}}</$button>
</$fieldmangler>
The field mangler widget manipulates the fields and tags of a tiddler. It does so in response to the following Messages:
| Message | Description |
|---|---|
| tm-remove-field | Remove the field specified in event.param |
| tm-add-field | Add the field specified in event.param |
| tm-remove-tag | Remove the tag specified in event.param |
| tm-add-tag | Add the tag specified in event.param |
The field mangler widget displays any contained content, and responds to Messages dispatched within it.
| Attribute | Description |
|---|---|
| tiddler | Title of the tiddler to manipulate (defaults to the current tiddler) |
| purpose | select all field names of the input titles |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | all the field names contained in the input tiddlers |
Each input title is processed in turn. Its list of field names is retrieved (in no particular order) and then dominantly appended to the operator's output.
The fields widget renders each field of a specified tiddler through a simple text template. A list of fields to exclude can be provided. It is used internally by TiddlyWiki5, notably by the FileSavingMechanism.
The provided template is rendered with the following special substitutions:
| Symbol | Substitution |
|---|---|
| $name$ | Field name |
| $value$ | Field value |
| $encoded_value$ | HTML encoded form of field value |
The content of the <$fields> widget is ignored.
| Attribute | Description |
|---|---|
| tiddler | Title of the tiddler from which the fields are to be displayed (defaults to the current tiddler) |
| template | Text of the template (see above) |
| exclude | Lists of fields to be excluded (defaults to "text") |
| stripTitlePrefix | If set to "yes" then curly bracketed prefixes are removed from titles (for example {prefix}HelloThere converts to HelloThere) |
The stripTitlePrefix attribute is used when building TiddlyWiki Classic; see editions/tw2 in the TiddlyWiki5 repo.
Una expresión de filtro corresponde al nivel más externo de la sintaxis de filtros. Consta de una o más instrucciones.
El input de una instrucción es, generalmente, la lista de todos los títulos de tiddlers no-ocultos del wiki, sin ningún orden en particular.
Un prefijo, sin embargo, puede cambiar las cosas:
+ o -, su output se añade dominantemente al output del filtro.-, su output se elimina del output del filtro, si estuviera presente.+, recibe como input el output del filtro y lo lo reemplaza por el output de dicha instrucción. Toda instrucción posterior vuelve a recibir como input todos los títulos del wiki, salvo que también lleve el prefijo +.Dicho en lenguaje técnico, claros y conciso:
| Instrucción | Interpretación | Output |
|---|---|---|
runA runB | suma de conjuntos | cumple A O B |
runA +runB | intersección de conjuntos | cumple A Y B |
runA -runB | diferencia de conjuntos | cumple A Y NO B |
A filter operator is a predefined keyword attached to an individual step of a filter. It defines the particular action of that step.
Important: Each first step of a filter run not given any input titles receives the output of [all[tiddlers]] as its input.
The following table lists all core operators, the most common ones marked ✓. The last column indicates whether an operator allows negation using the ! prefix. For specifics as to each operator's negated output please refer to its documentation.
| Operator | Purpose | ✓ | ! |
|---|---|---|---|
| all | find all titles of a fundamental category | ✓ | |
| backlinks | find the titles that link to each input title | ||
| contains | filter the input by searching list fields for a value | ! |
|
| count | count the number of entries in a list | ||
| days | filter the input by date | ! |
|
| each | select one of each group of input titles by field | ||
| eachday | select one of each group of input titles by date | ||
| enlist | select titles from the operand interpreted as a title list | ! |
|
| field | filter the input by field | ✓ | ! |
| fields | select all field names of the input titles | ||
| get | select all values of a field in the input titles | ||
| getindex | select all values of a data property in the input titles | ||
| has | filter the input by field existence | ✓ | ! |
| haschanged | filter the input by tiddler modification status | ! |
|
| indexes | select all data properties of the input titles | ||
| is | filter the input by fundamental category | ✓ | ! |
| links | find the titles linked to by each input title | ✓ | |
| list | select titles via a list field | ! |
|
| listed | find the titles that list the input titles | ||
| lookup | applies a prefix to each input title to yield the title of a tiddler from which the final value is retrieved | ||
| minlength | filter items shorter than the specified minimum length | ||
| range | generate a range of numbers | ! |
|
| regexp | filter the input by pattern-matched field | ! |
|
| sameday | filter the input by date | ||
| search | filter the input by searching tiddler content | ✓ | ! |
| subfilter | select titles from the operand interpreted as a filter expression | ! |
|
| title | select a single title | ✓ | ! |
| Order Operators | |||
| after | find which input title follows a specified one | ||
| before | find which input title precedes a specified one | ||
| bf | same as rest |
||
| butfirst | same as rest |
||
| butlast | discard the last N input titles |
||
| first | select the first N input titles |
||
| last | select the last N input titles |
||
| limit | select the first or last N input titles |
✓ | ! |
| next | find which titles in a list field follow the input ones |
||
| nsort | sort the input by number field | ! |
|
| nsortcs | sort the input titles by number field, treating upper and lower case as different | ! |
|
| nth | select the Nth input title |
||
| order | selectively reverse the input list | ✓ | |
| previous | find which titles in a list field precede the input ones |
||
| rest | discard the first N input titles |
||
| reverse | reverse the order of the input titles | ||
| sort | sort the input by text field | ✓ | ! |
| sortan | sort the input by text field considering them as alphanumerics | ✓ | ! |
| sortcs | sort the input by text field, treating upper and lower case as different | ! |
|
| Listops Operators | |||
| allafter | discard all items except those after the marker | ||
| allbefore | discard all items except those before the marker | ||
| append | append a range of items from an array to the list | ||
| insertbefore | insert an item T into a list immediately before an item B |
||
| move | move marker N places in the list | ||
| prepend | prepend a range of items from an array to the list | ||
| putafter | move N trailing items after the marker | ||
| putbefore | move N trailing items before the marker | ||
| putfirst | move N trailing items to the head of the list | ||
| putlast | move N leading items to the tail of the list | ||
| remove | remove a list of titles specified in the operand from the input | ||
| replace | replace marker with N trailing items | ||
| sortby | sort the current list in the order of the list referenced in the operand | ||
| String Operators | |||
| addprefix | extend each input title with a prefix | ||
| addsuffix | extend each input title with a suffix | ||
| decodehtml | apply HTML decoding to a string | ||
| decodeuri | apply URI decoding to a string | ||
| decodeuricomponent | apply URI component decoding to a string | ||
| encodehtml | apply HTML encoding to a string | ||
| encodeuri | apply URI encoding to a string | ||
| encodeuricomponent | apply URI component encoding to a string | ||
| escaperegexp | escape special characters used in regular expressions | ||
| jsonstringify | apply JSON string encoding to a string | ||
| prefix | filter the input titles by how they start | ! |
|
| removeprefix | filter the input titles by how they start, deleting that prefix | ||
| removesuffix | filter the input titles by how they end, deleting that suffix | ||
| splitbefore | select a delimited prefix from each input title | ||
| stringify | apply JavaScript string encoding to a string | ||
| suffix | filter the input titles by how they end | ! |
|
| Tag Operators | |||
| tag | filter the input by tag | ✓ | ! |
| tagging | find the tiddlers that have the input tags | ||
| tags | select all tags of the input tiddlers | ||
| untagged | discard any input titles that have tags | ! |
|
| Special Operators | |||
| commands | select the titles of all the Node.js commands | ||
| editiondescription | select the descriptions of the input editions | ||
| editions | select the names of all the TiddlyWiki editions | ||
| modules | select the names of all modules of the input module types | ||
| moduletypes | select the names of all TiddlyWiki module types | ||
| plugintiddlers | select all shadow titles in the input plugins | ||
| shadowsource | select the plugin titles that contain the input shadows | ||
| storyviews | select the names of all the story views | ||
| subtiddlerfields | select all fields present in the selected tiddlers within a plugin | ||
A typical step is written as [operator[parameter]], although not all of the operators need a parameter.
Most steps process the selection of titles that are supplied as their input, but a few construct an entirely new selection instead. For the exact rules, see Filter Syntax.
Los parámetros de un operador son valores que pueden ser:
[tal cual]{tal cual}<tal cual>Una instrucción se compone de pasos y devuelve como output una selección que contribuye a una expresión mayor.
Los pasos se procesan de izquierda a derecha y el input del primer paso es el mismo que el de la instrucción de la que forma parte. En todos los demás pasos, el input corresponde al output del paso anterior.
El output de un paso depende de su operador:
Un buen ejemplo de constructor es title. El output de [title[A]title[B]] es B, mientras que field es un modificador, por lo que [title[A]field:title[B] no genera output alguno.
Las tres últimas opciones del diagrama que se muestra más arriba coinciden con sintaxis del tipo HelloThere, "HelloThere", 'HelloThere' y "Filter Operators"y son abreviaturas de [title[...]].
Las opciones entrecomilladas existen como soporte para títulos que contengan corchetes, como "un tiddler [[[[inusual]]]]".
The quoted options exist to support titles that contain square brackets, as in "An [[[[Unusual]]]] Tiddler".
Un paso representa una operación única que se realiza dentro de un filtro.
En términos de programación, se parece a la llamada de una función en la que el input es un parámetro implícito. El output de un paso es una selección que contribuye a una instrucción y, por lo tanto, a la expresión que lo contiene en su totalidad.
El operador de un paso se obtiene de una lista predefinida de palabras clave, que puede extenderse mediante plugins. Todo operador no reconocido se trata como sufijo de field. Si se omite el operador, se lo considera por defecto como title.
Un sufijo es texto adicional –generalmente el nombre de un campo– que complementa el significado de ciertos operadores.
Muchos pasos requieren un valor explícito de parámetro, llamado también operando, que concreta lo que tiene que hacer.
Un filtro es una una secuencia de instrucciones que transforma un input o "entrada" en un output o "salida". Tanto el input como el output son conjuntos ordenados de títulos de cosas tales como tiddlers y campos.
Un filtro es una expresión construida con piezas más pequeñas –que llamamos instrucciones y pasos–, cada uno de los cuales transforma a su vez un input en un output.
Un filtro comienza con un output vacío y sus ejecuciones se procesan de izquierda a derecha, modificando progresivamente dicho output.
Estas son las diferentes piezas que componen un filtro:
Entre las diferentes instrucciones de una expresión pueden aparecer diferentes caracteres en blanco.
Piensa en TiddlyWiki como en una base de datos cuyos registros son tiddlers. Una base de datos proporciona los medios para encontrar entre sus registros aquellos que coinciden con un determinado patrón de búsqueda. La forma de hacerlo en TiddlyWiki es mediante filtros.
Un filtro es una expresión breve y concisa que describe a un conjunto de tiddlers llamado output o salida. Siempre que TiddlyWiki encuentra un filtro, calcula su output. De este modo, puede realizar determinadas tareas con esa selección de tiddlers en particular, como contarlos o hacer una lista con ellos.
El siguiente ejemplo especifica un filtro de búsqueda a la macro list-links para que muestre un listado de tiddlers cuyos títulos comienzan con la letra hache:
<<list-links "[prefix[H]]">>
Y este es su output:
El output cambiará en la medida en que cambie el wiki según se añadan y se eliminen tiddlers. En cualquier caso, TiddlyWIki lo volverá a calcular al vuelo, manteniendo así al día cualquier cuenta o lista basada en dicho filtro.
Búsqueda avanzada tiene una pestaña llamada Filtro, que facilita experimentar con filtros.
Introducción a la notación de filtros – Guía paso a paso
Sintaxis de filtros – Reglas detalladas para uso técnico
Operadores de filtro – métodos disponibles de búsqueda
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
| purpose | select the first N input titles |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 1 |
| output | the first N input titles |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]first[]]
[list[Days of the Week]first[5]]
[tag[Filter Operators]!sort[title]first[]]
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Available character formatting includes:
`backticks` for code ()``double backticks allows `embedded` backticks``''bold'' for bold text ()//italic// for italic text ()__underscore__ for underscored text ()^^superscript^^ for superscripted text (),,subscript,, for subscripted text ()~~strikethrough~~ for See also: Code Blocks in WikiText
Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns instead of just one straight listing. The following method creates an actual table structure and uses the nth operator to provide break points for the rows. It is not responsive, that is, it doesn't re-position to display fewer columns if the window is too small.
In the first, outer list structure you must provide a count to indicate at item number rows should occur. So, in the following example, each row breaks after 4 items, so the sequence is 1,5,9, etc. Note that this requires you to know in advance the maximum number of items there will be. There is also an internal limit that is set to n-1 items, where n is the number of columns you want.
Note also that you need to repeat the driving filter operator inside of the internal <$list> widget. Obviously this technique lends itself to a macro implementation.
For other table-making techniques see also:
<table>
<$list filter="1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65" variable ="rows">
<$list filter="[tag[Filter Operators]limit[50]] +[nth<rows>]" variable="cell">
<tr>
<td> <<cell>> </td>
<$list filter="[tag[Filter Operators]limit[50]] +[allafter<cell>limit[3]]" variable="this">
<td> <<this>> </td>
</$list>
</tr>
</$list>
</$list>
</table>| addprefix Operator | addsuffix Operator | after Operator | all Operator |
| allafter Operator | allbefore Operator | append Operator | backlinks Operator |
| before Operator | bf Operator | butfirst Operator | butlast Operator |
| commands Operator | contains Operator | count Operator | days Operator |
| decodehtml Operator | decodeuri Operator | decodeuricomponent Operator | each Operator |
| eachday Operator | editiondescription Operator | editions Operator | encodehtml Operator |
| encodeuri Operator | encodeuricomponent Operator | enlist Operator | escaperegexp Operator |
| field Operator | fields Operator | first Operator | get Operator |
| getindex Operator | has Operator | haschanged Operator | indexes Operator |
| insertbefore Operator | is Operator | jsonstringify Operator | last Operator |
| limit Operator | links Operator | list Operator | listed Operator |
| lookup Operator | minlength Operator | modules Operator | moduletypes Operator |
| move Operator | next Operator |
Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses ~CSS to set up listing as columns and assumes that you know how many columns you want. The method here is to create a style that reflects the number of columns you want your table to be in, and then apply that style to the resulting list output.
For other table-making techniques see also:
$:/tags/Stylesheet, containing:/* FOUR COLUMN MODE */
.fourcolumns {
display:block;
-moz-column-count:4;
-moz-column-gap:1em;
-webkit-column-count: 4;
-webkit-column-gap:1em;
}Note the various places you need to indicate the number of columns
@@.fourcolumns
<$list filter="[tag[Filter Operators]]" variable="foo"><br>
<<foo>>
</$list>
@@
addprefix Operator
addsuffix Operator
after Operator
all Operator
allafter Operator
allbefore Operator
append Operator
backlinks Operator
before Operator
bf Operator
butfirst Operator
butlast Operator
commands Operator
contains Operator
count Operator
days Operator
decodehtml Operator
decodeuri Operator
decodeuricomponent Operator
each Operator
eachday Operator
editiondescription Operator
editions Operator
encodehtml Operator
Sometimes you want the results of a <$list> widget to be formatted in the form of multiple columns, instead of just one straight listing. This method uses CSS to set up listing as columns. It is responsive, that is, re-positioning to display fewer columns if the window is too small.
You don't directly specify a fixed number of columns but instead specify the max-width for the list (which could be a transclusion of the tiddler width) and the width for each item. It lists from left to right, then wraps to a new row.
For other table-making techniques see also:
<div class="dynamic-table">
<$list filter="[has[tags]tags[]sort[title]first[50]]">
<span class="item">
<$transclude tiddler="$:/core/ui/TagTemplate"/>
</span>
</$list>
</div><style>
.dynamic-table {
max-width:700px; /* could transclude tiddler width instead */
-ms-box-orient: vertical; /* might be unnecessary */
display: -webkit-box;
display: -moz-box;
display: -ms-flexbox;
display: -moz-flex;
display: -webkit-flex;
display: inline-flex;
-webkit-flex-wrap: wrap;
flex-wrap: wrap;
flex-direction: row;
}
.item {
max-width:160px; min-width:160px;
flex: 0 0 2em; /* -grow, -shrink, -basis */
}
</style>Para controlar cómo se muestra el texto de un tiddler, puedes usar un formateo especial que llamamos WikiText.
En su forma más simple, WikiText te permite usar funciones habituales en el proceso de textos como negrita, cursiva, listas y tablas. Por ejemplo:
At its simplest, WikiText lets you use familiar word-processing features like bold, italic, lists and tables. For example:
Jovencillo ''emponzoñado'' de ~~whisky~~ ¡Qué //figurota// `exhibe`!
… se muestra como:
Jovencillo emponzoñado de whisky ¡Qué figurota exhibe!
Se puede enlazar a otros tiddlers en WikiText usando corchetes dobles o aprovechando la función de enlace automático de las palabras en CamelCase:
Este es un enlace al tiddler HelloThere y, este otro, a [[Historia de TiddlyWiki|History of TiddlyWiki]]… se muestra como:
Este es un enlace al tiddler HelloThere y, este otro, a Historia de TiddlyWiki
Las macros permiten empaquetar fragmentos de WikiText de difícil ejecución o que se repiten con frecuencia, para así poder usarlos con facilidad y consistentemente.
Por ejemplo, esta es la definición de una macro que inserta un icono y da formato especial a a un texto usado como advertencia, por ejemplo, en un manual:
\define .warning(_)
<div class="doc-icon-block">
<div class="doc-block-icon">{{$:/core/images/warning}}</div>
$_$</div>
El código que la define hace referencia, en este caso, a clases definidas en la hoja de estilos del documento.
Para llamar una macro en WikiText, la escribimos entre dobles comillas angulares simples y con el texto al que queremos aplicarla entre comillas rectas: <<.warning "texto">>
El resultado tiene este aspecto:
Las funciones avanzadas de WikiText te permiten generar listas automáticamente entre otras funciones interactivas como menús desplegables. De hecho, la interfaz entera de TiddlyWiki está escrita en WikiText, de modo que casi todo cuanto ves puede es adaptable para su uso en otros wikis.
Algunas de estas funciones avanzadas requieren el uso de código complejo. Por ese motivo TIddlyWiki incorpora varias macros que simplifican algunas tareas en la interfaz de usuario, como la creación de pestañas, tablas de contenido y listas.
Son listas de correo en las que hablamos de TiddlyWiki: pedimos ayuda, anunciamos la publicación de nuevas ediciones o de nuevos plugins, debatimos sobre nuevas características, o simplemente compartimos experiencias.
Puedes participar a través de la página web asociada, o suscribirte via mail.
No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:
Además, puedes participar en nuestras reuniones periódicas online
o síguenos en Twitter si quieres recibir las últimas noticias
Grupo de desarrollo de TiddlyWiki
No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:
Accede a nuestra página de desarrollo en GitHub y haz tu contribución.
Síguenos en Twitter si quieres estar al tanto de las últimas noticias
Las nuevas ediciones de TiddlyWiki, TiddlyDesktop y TiddlyFox se anuncian en los foros de discusión y en Twitter.
También puedes suscribirte al feed de versiones en GitHub
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
La edición completa de ~Tiddlywiki consta de todos los idiomas, temas y plugins disponibles. Su uso está previsto para pruebas, especialmente para el cambio de un idioma a otro.
La edición completa puede descargarse de:
A plugin to integrate the popular lunr.js search engine, giving TiddlyWiki much more sophisticated search capabilities:
https://hoelz.ro/files/fts.html
Provides an alternative search result list that orders results by search relevance and ignores differences in word forms (ex. tag vs tags).
On my personal wiki, I have the problem that there are terms I use across a lot of tiddlers, and sometimes I'll use different forms (such as the aforementioned tag vs tags). I wanted a plugin to allow me to find the tiddler I'm looking for quickly and didn't require me to worry about how I declined a noun or inflected a verb - so I wrote this plugin, which provides an alternative search list powered by lunr.js.
TiddlyWiki se ha diseñado teniendo en mente las necesidades de perdurabilidad del usuario.
Puesto que es OpenSource y no necesita infrastructura alguna, podemos asegurar que lo único que necesitarás para acceder a un archivo de TiddlyWiki, incluso en un futuro lejano, es un navegador HTML normal y corriente. Si estás hoy al inicio de tu carrera, puedes estar seguro de que podrás seguir usándolo cuando te jubiles.
TiddlyWiki5 can be used to generate static HTML representations of a TiddlyWiki that doesn't need JavaScript.
There is much flexibility in how the static HTML is generated. The following scenarios are all illustrated on https://tiddlywiki.com.
You can explore a static representation of this TiddlyWiki at static.html. That file is a static snapshot of the current DefaultTiddlers. Any tiddlers that it links to are referred to via URLs of the form /static/HelloThere.html that point to static snapshots of individual tiddlers. The tiddler HTML files reference a static.css stylesheet file.
The following commands are used to generate the sample static version of the TiddlyWiki5 site:
--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html static text/plain
--rendertiddler $:/core/templates/static.template.html static.html text/plain
--rendertiddler $:/core/templates/static.template.css static/static.css text/plainThe first RenderTiddlersCommand generates the HTML representations of individual tiddlers, the second RenderTiddlerCommand saves the static version of the DefaultTiddlers, and the final RenderTiddlerCommand saves the stylesheet. (All the files are placed in the output folder of the wiki folder).
It is also possible to produce a single HTML file that contains static representations of tiddlers, and uses standard HTML anchor links to jump between them.
For example: alltiddlers.html
The example is built by the following commands:
--rendertiddler $:/core/templates/alltiddlers.template.html alltiddlers.html text/plain| purpose | select all values of a field in the input titles |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field |
| output | the values of field F in each of the input titles |
Each input title is processed in turn. If the corresponding tiddler contains field F, and the value of this field is not empty, then its value is appended to the output.
Unlike most other Filter Operators, the selection output by get can contain duplicates. To avoid duplicates, use each[F]get[F].
[all[current]get[draft.of]]
[get[tags]]
[each[tags]get[tags]]
| purpose | select all values of a data property in the input titles |
|---|
Each input title is processed in turn, and is ignored if it does not denote a data tiddler. If the tiddler contains property P, the value of that property is dominantly appended to the output.
[[$:/palettes/Vanilla]getindex[background]]
[all[shadows+tiddlers]tag[$:/tags/Palette]getindex[background]]
Este breve tutorial te enseña cómo guardar cambios en TiddlyWIki.
El video está un poco anticuado, pero esperamos poder ponerlo pronto al día.
Breves instrucciones para empezar a trabajar en las diferentes plataformas y configuraciones con las que TiddlyWiki es compatible. Aquí encontrarás una introducción algo más amena.
Solución de problemas:
Te interesa ver también:
Si el botón no funciona, guarda el siguiente enlace:
https://tiddlywiki.com/languages/es-ES/index.html
El navegador puede pedirte que confirmes la acción antes de comenzar la descarga
Hay dos formas de usar TiddlyWiki en Android:
También puedes consultar el video tutorial
Para guardar el enlace, mantenlo presionado y selecciona "Save link" (asegúrate de tener instalada la extensión "save-link-menus")
La aplicación para dispositivos Android AndTidWiki permite editar y guardar cambios en TiddlyWiki5, incluso al trabajar offline, sin conexión de red.
Nota: AndTidWiki es un proyecto independiente de TiddlyWiki
En Google Chrome, TiddlyWiki sólo puede guardar cambios usando el módulo alternativo de guardado compatible con HTML5
Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado. Tiene, sin embargo, la ventaja de que funciona en casi todos los navegadores de escritorio y en muchos navegadores móviles.
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmConsejo: la mayoría de navegadores permiten la opción de especificar la localización de cada descarga, en lugar de descargar a la carpeta por defecto. Esta opción te permite "planchar" tu archivo con la nueva versión.
Como mejor funciona TiddlyWIki en Firefox es con la extensión TiddlyFox.
Si usas Firefox para Android, las instrucciones que necesitas son estas.
.html o .htmPuede que también te pida activar Microsoft Script Runtime
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmEn Ejecutar como Aplicación HTA se describe un método alternativo para usar TiddlyWiki con Internet Explorer.
La aplicación para iPad e iPhone TWEdit permite editar y guardar cambios en TiddlyWiki5, incluso cuando se trabaja offline, sin conexión de red. Descárgala aquí.
Instrucciones de uso:
https://tiddlywiki.com/languages/es-ES/empty.html.html)Nota: TWEdit es un proyecto independiente de TiddlyWiki
npm install -g tiddlywiki(ver nota * más abajo)Si te da fallo, necesitas volver a ejecutar la orden como administrador:
sudo npm install -g tiddlywiki(Mac/Linux)
tiddlywiki --version
tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
tiddlywiki --build index
Nota: El argumento
-ghace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo
node: command not foundpese a haber instalado node.js, puede que necesites crear un enlace simbólico entrenodejsynode. En tal caso, consulta el manual de tu distribución de Linux ywhereis(más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).Ejemplo en Debian v8.0:
sudo ln -s /usr/bin/nodejs /usr/bin/node
TiddlyWiki can also be hosted on online services such as Dropbox and Cloudant.
En Safari, TiddlyWiki sólo puede guardar cambios de forma manual, valiéndose para ello del módulo alternativo de guardado compatible con HTML5.
Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado.
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmGitHub is a hosting service for distributed projects that use git as their version-control system. It allows free hosting and management of open-source projects and facilitates collaborative developement on the source code. Using GitHub for non-open-source endeavors requires additional fees.
The code and documentation of TiddlyWiki is hosted on GitHub at:
| en-GB | es-ES | Comentario |
|---|---|---|
| Tiddler | Tiddler | Invariable |
(Véase el capítulo de tablas para saber cómo editar el glosario)
campo y sus referencias (nombre del campo, sin separador, seguido de Field. P. Ej.:ListField)The following sidebar tabs give examples of grouped lists created by nesting.
For the Types tab, the outer list filter as shown below selects each discrete value found in the type field. The inner list filter selects all the (non-system) tiddlers with that type.
<$list filter={{$:/core/Filters/TypedTiddlers!!filter}}>
<div class="tc-menu-list-item">
<$view field="type"/>
<$list filter="[type{!!type}!is[system]sort[title]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}><$view field="title"/></$link>
</div>
</$list>
</div>
</$list>
The list in the Recent tab is generated using the timeline macro. Here, the outer list filter selects each discrete day found in the modified field, while the inner list filter selects all the tiddlers dated the same day in the modified field.
\define timeline-title()
<!-- Override this macro with a global macro
of the same name if you need to change
how titles are displayed on the timeline
-->
<$view field="title"/>
\end
\define timeline(limit:"100",format:"DDth MMM YYYY",subfilter:"",dateField:"modified")
<div class="tc-timeline">
<$list filter="[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]">
<div class="tc-menu-list-item">
<$view field="$dateField$" format="date" template="$format$"/>
<$list filter="[sameday:$dateField${!!$dateField$}!is[system]$subfilter$!sort[$dateField$]]">
<div class="tc-menu-list-subitem">
<$link to={{!!title}}>
<<timeline-title>>
</$link>
</div>
</$list>
</div>
</$list>
</div>
\end
TiddlyWiki makes a great GuerillaWiki in situations where it is not practical to use a traditional wiki.
For instance, in a corporate setting, persuading an over-worked IT department to install a Wiki server for you is seldom going to be possible overnight. And if your PC is locked down you can't install a conventional Wiki yourself. Equally, you can't go and use one of the public hosted Wiki services because your Information Security department would not allow all that corporate data to flow into an outside server.
TiddlyWiki slices through those barriers by being usable on virtually all PCs.
Un enlace físico o hard link es uno que puede reconocerse visualmente, examinando el texto en WikiText.
Un enlace es simbólico o soft link si:
to es una transclusión, macro o variableThe usual handling of paragraphs in wikitext causes single line breaks to be ignored, and double linebreaks to be interpreted as the end of a paragraph.
This behaviour isn't convenient when dealing with material that incorporates hard linebreaks - for instance, poetry. You can mark a block of content as containing hard line breaks like this:
"""
This is a line
and this is a new line
while this is yet another line
and this is the final one
apart from this one
"""Tiene este aspecto:
This is a line
and this is a new line
while this is yet another line
and this is the final one
apart from this one
... y su código HTML es:
<p>This is a line<br>and this is a new line<br>while this is yet another line<br>and this is the final one<br>apart from this one<br></p>
Since TiddlyWiki Version 5.1.16, it's possible to apply customs styles with data- attributes. see: How to apply custom styles
The Custom data-styles stylesheet tiddler contains the following definition:
[data-tags*="example-hardlinebreaks"] .tc-tiddler-body {
word-break: normal;
word-wrap: break-word;
white-space: pre-wrap;
}If rendered without the tag, the content of "Hard Linebreaks with CSS - Example" will be shown like this:
The following text is rendered without any special WikiText syntax. So most of the WikiText functionality will be accessible. This is a line and this is a new line while this is yet another line and this is the final one apart from this one
Open the tiddler to see the custom CSS rules applied: Hard Linebreaks with CSS - Example
The following text is rendered without any special WikiText syntax. So most of the WikiText functionality will be accessible.
This is a line and this is a new line while this is yet another line and this is the final one apart from this one
| purpose | filter the input by field existence |
|---|---|
| input | a selection of titles |
| suffix | F = New in: 5.1.14 optionally, the name of a field |
| parameter | F = the name of a field |
| output | without suffix or with suffix value» those input tiddlers in which field F has a non-empty valuesuffix field» those input tiddlers in which field F exists |
! output | without suffix or with suffix value» those input tiddlers in which field F does not exist or has an empty valuesuffix field» those input tiddlers in which field F does not exist |
[has[color]]
[tag[Concepts]!has[modified]]
[has:field[emptyfield]]
[all[current]!has:field[doesntexist]]
| purpose | filter the input by tiddler modification status |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | those input tiddlers that have been modified during this session |
! output | those input tiddlers that have not been modified during this session |
A tiddler is deemed to have been modified if it has been written back to the wiki since the start of the current TiddlyWiki session. If you edit a tiddler and immediately store it again without making any changes, that is enough to mark it as modified.
Headings are specified with one or more leading ! characters:
! This is a level 1 heading
!! This is a level 2 heading
!!! This is a level 3 headingCSS classes can be assigned to individual headings like this:
!.myStyle This heading has the class `myStyle`¿Nunca has tenido la sensación de que no te cabe en la cabeza todo lo que tienes que recordar?
BIenvenido a TiddlyWiki, un bloc de notas no lineal único para capturar, organizar y compartir información compleja.
Úsalo para mantener tu lista de tareas, para desarrollar un ensayo o novela, o incluso para organizar tu boda. Toma nota de todo cuanto te pase por la cabeza o construye una web flexible y ágil, que satisfaga tus necesidades.
Al revés que los servicios online convencionales, TiddlyWiki te deja escoger dónde quieres guardar tus datos, garantizándote que, por más que pase el tiempo, podrás seguir usando en el futuro las notas que tomes hoy.
Muestra ayuda para un comando:
--help [<command>]Si se omite el comando, se muestra una lista de comandos disponibles
If you find TiddlyWiki useful, there are lots of ways you can help assure its future and make it better.
OpenSource projects like TiddlyWiki thrive on the feedback and engagement of users. TiddlyWiki becomes more useful to everyone as more and more people use it. So, if you find TiddlyWiki useful, spread the word. The best possible way to assure its future is for it to become a hundred times more popular than before.
There are many ways you can contribute to TiddlyWiki:
The main TiddlyWiki documentation and code lives on GitHub, and welcomes contributions:
New in: 5.1.19 This value is wikified to determine the filename when saving via the "save wiki" page control button.
By default, this setting is empty, which triggers the default handling where the filename portion of the URL is used.
The value {{$:/SiteTitle}}.html causes the filename to be constructed from the site title with a .html extension.
By default new images are created with the image-type jpeg
The hidden setting in $:/config/NewImageType can be set to another Image-Type which is used for new Image Tiddlers, like png
As part of navigating to a tiddler, TiddlyWiki scrolls the page so that the top of the tiddler lines up with the top of the browser window. This means that the upper part of tiddlers can be obscured when using custom position:fixed toolbars at the top of the window.
To adjust the scroll position to allow for the toolbar, add the CSS class tc-adjust-top-of-scroll to the toolbar. TiddlyWiki's scrolling mechanism will then dynamically adjust the scroll position by the height of that element.
Al abrir TiddlyWiki, el foco se sitúa por defecto en la barra de búsqueda. Si esto te ocasiona algún problema, puedes modificarlo cambiando el texto de true a false en el siguiente tiddler:
New in: 5.1.14 Controls the minimum length of a search string before results are displayed.
Defaults to "3".
New in: 5.1.16 Tag Dropdown: Controls the minimum length of an input string before results are displayed.
Defaults to "0".
Determines the template used when saving via the "save wiki" page control button.
Defaults to $:/core/save/all.
You can change this setting to choose what is saved when the "save wiki" button is clicked.
Para asegurar que al escribir no haya errores de interpretación de las pulsaciones del teclado, TiddlyWiki retarda el procesamiento de cambios en el borrador durante un breve período. El valor por defecto de 400 ms da un nivel óptimo de respuesta en la mayoría de casos, pero no siempre es el más conveniente en dispositivos móviles de baja potencia.
Para modificar el tiempo de retardo, basta con cambiar el valor en milisegundos de este tiddler:
Los ajustes de configuración de TiddlyWiki se exponen en el , pero algunos más avanzados no tienen interfaz propiamente dicha, por lo que, si es necesario, se editan directamente en los tiddlers de configuración.
Arrastra los siguientes enlaces a tu wiki para cambiar estos ajustes.
Desarrollado para programadores, el plugin Highlight permite aplicar colores a la sintaxis del texto.
These are personal reflections on the history and development of TiddlyWiki from JeremyRuston.
There is also a podcast discussing TiddlyWiki's backstory.
Back in 1997 a colleague introduced me to Ward Cunningham's original wiki. I was impressed that something so powerful could fit into just 700 lines of Perl, and fascinated by the radical reimagining of security and permissions. Like many other developers, I took every opportunity I could to try out various wikis, and to explore their use at work.
The allure of the wiki for me was the feeling that it could eventually disrupt the prevailing paradigm of print-oriented documents and emails.
After watching people use wikis for a few years, I noticed that power users made extensive use of the ability to open multiple wiki pages at once in several browser tabs, making it easier for them to compare and review pages, to copy text between them and to act as a sort of queue of pages yet to be read.
I felt that this ability to manipulate multiple pages at once was central to the ability to refactor a wiki, and it is generally accepted that a wiki that is lovingly refactored tends to be more useful. And yet, standard wiki user interfaces have always been designed exclusively for the presentation and manipulation of single pages at once.
All of these thoughts came together when I saw GMail in April 2004, which used Ajax cleverly to blend individual emails into threaded conversations.
I started experimenting with HTML and JavaScript to explore the idea further. I'd had virtually no experience of either, just having put together some static pages and simple ASP sites in previous lives. Getting my head around these client-side technologies was painful; like everyone else, I was horrified to discover how appalling were the incompatibilities and inconsistencies of web programming.
So, in September 2004 I released a primitive first version of TiddlyWiki. It was the smallest possible thing that demonstrated the idea: it was a simple, self-contained static 48KB HTML file.
The downside of writing the first version of TiddlyWiki in this way was that it made it completely impractical to use for editing - when you click 'save changes' it just pops up a window showing the data that would be saved if it were possible for an HTML page to write to the file system.
Much of the early feedback was that TiddlyWiki was neat, but that it would be more useful when it was possible to properly save changes. I was a little frustrated, as I thought I knew that it was impossible for an HTML file running in the browser to save changes to the local file system.
Within a few months I saw an experimental Firefox extension that enabled TiddlyWiki to save changes in the browser. Examining the code, I realised that the APIs that it used to write to the file system were actually available in ordinary HTML files - as long as they were loaded via a file:// URI.
I adapted the Firefox code into the core of TiddlyWiki, and soon added a similar ability for Internet Explorer (making use of an old ActiveX control that Microsoft distributed with Internet Explorer).
A major milestone in the growth of TiddlyWiki was the creation of "GTDTiddlyWiki" by Nathan Bowers. He took the vanilla TiddlyWiki product and adapted it for the specific application of keeping track of tasks using the popular Getting Things Done methodology. GTDTiddlyWiki was an immediate hit, being enthusiastically greeted on websites like LifeHacker.
Over the next couple of years TiddlyWiki continued to grow in popularity, and gained new features and capabilities. Within a year I was able to support myself by performing bespoke development work on TiddlyWiki, notably working with wiki pioneer SocialText on the ability to synchronise changes with an online server
In May 2007, BT acquired Osmosoft, my consultancy company. It was an unusual decision to acquire a company with a single employee and a tiny trickle of revenue - Osmosoft didn't even own the intellectual property in TiddlyWiki since I had handed it over to UnaMesa to assure its future for the community.
BT's motivation was to help them understand community-based ecosystems. I joined the organisation as "Head of Open Source Innovation", taking responsibility for open source governance, and providing advice and expertise on how to participate in open soure communities.
I built a team in BT under the name Osmosoft. Our purpose was to evangelise the benefits of open source, and to help other teams realise those benefits in practice. We also found that it was necessary to evangelise the use of the web in general, and web standards in particular.
Our approach was to focus on showing rather than telling. We worked with the TiddlyWiki community to extend the ecosystem and we built numerous internal systems for BT (some based on TiddlyWiki and some not).
Osmosoft's chief contribution to the TiddlyWiki community was the creation of TiddlyWeb and TiddlySpace. TiddlyWeb was a robust, internet scale server for tiddlers that could also compose TiddlyWiki views of those tiddlers. TiddlySpace was an attempt to package TiddlyWeb into a more directly usable form.
By the end of 2011 I was increasingly feeling that I would be better placed to realise the potential of TiddlyWiki outside of the corporate confines BT. Accordingly, I left and started work as an independent developer, primarily working on a brand new reboot of TiddlyWiki in the shape of TiddlyWiki5.
I worked on new release of TiddlyWiki from November 2011. As a programmer, working on "version 2.0" of something that I had already written is a very attractive proposition. It means that the requirements were fully understood, allowing me to focus on evolving the architecture needed to support the desired functionality.
Now that TiddlyWiki5 has finally left "beta" status behind, my hope is that it will have a long life. Because it only uses standard features of HTML5 and Node.js, there is no reason why it cannot be fully operational for many years to come. My goal is for it to last for at least 25 years.
Jeremy Ruston, 20th September 2014
The system tiddler $:/HistoryList keeps track of a list of tiddlers comprising the navigation history. Each time you click on a link to a tiddler, the title of the target tiddler is added to the top of the stack.
The history list is stored in JSON to allow additional details about the coordinates of the DOM node that initiated the navigation.
The history list also maintains the field current-tiddler that contains the name of the tiddler at the top of the stack. This field can be used like so:
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
<$button message="tm-close-tiddler" class="tc-btn-invisible tc-btn-mini">×</$button> <$link to={{!!title}}><$view field="title"/> <$reveal type="match" state="$:/HistoryList!!current-tiddler" text=<<currentTiddler>>>✓</$reveal></$link>
</$list>Which renders the same as the "Open" sidebar tab, with the addition of a tick against the tiddler that was last navigated to.
To display content when the story is empty, create $:/config/EmptyStoryMessage and enter the desired contents. The following would show the GettingStarted tiddler when all others are closed.
{{GettingStarted||$:/core/ui/ViewTemplate}}You can include a horizontal rule with three or more dashes on their own on a line:
---
Tiene este aspecto:
... y su código HTML es:
<hr>
Cuando editas un tiddler en https://tiddlywiki.com, aparece una pequeña banda de color rosa que te invita a editar la fuente del tiddler en GitHub.
Si usas Node.js, puedes reproducir este mismo efecto para tu propio TiddlyWiki, de la siguiente manera:
tiddlywiki.info de tu directorio:"config": { "retain-original-tiddler-path": true }
Para crear una nueva pestaña en la barra lateral:
captionlist-before y list-after, tal como se indica en Etiquetaslist-after como $:/core/ui/SideBar/Open para colocar tu pestaña inmediatamente después de la solapa AbiertosAt the moment there are several ways to apply custom styles.
Se pueden aplicar estilos personalizados a tiddlers con una pestaña particular definiendo una clase CSS con el nombre tc-tagged-<etiqueta>.
Por ejemplo: Para que una serie de tiddlers con la etiqueta VistaNocturna se muestren con un esquema de colores apropiado para leer con poca luz, tendremos que crear una hoja de estilos que defina la clase tc-tagged-VistaNocturna, del modo siguiente:
.tc-tagged-VistaNocturna {
background-color:black;
color: orange;
padding: 35px 35px;
}
.tc-tagged-VistaNocturna .tc-tiddler-body {
font-size: 1.5em;
}La clase tc-tagged-VistaNocturna se aplica a todo el tiddler y no sólo al texto. Si queremos referirnos sólo a una parte del tiddler, se puede habilitar el selector CSS, como hemos hecho aquí con .tc-tagged-NightReader .tc-tiddler-body.
Nótese que las etiquetas que contengan espacios o caracterres no alfanuméricos, para que CSS los interprete, tendrán que convertirse según la codificación URI, lo que hace que la clase CSS resultante sea difícil de predecir y más proclive a errores.
Por ejemplo:
| Etiqueta | Nombre de clase generado |
|---|---|
$:/mytag | tc-tagged-%24%3A%2Fmytag |
Doctor Who | tc-tagged-Doctor%20Who |
£35.23 | tc-tagged-%C2%A335.23 |
Aunque TiddlyWiki generará las etiquetas, para usarlas en la hoja de estilos se tendrá que usar la correspondiente equivalencia en código porciento:
.tc-tagged-Doctor\%20Who {
background-image: url(./tardis_back.svg);
background-repeat: no-repeat;
background-position: right;
color:#FBFBFB;
}Hay disponible una función en JavaScript para realizar la conversión:
$tw.utils.tagToCssSelector("$:/tags/Stylesheet")...que genera la siguiente respuesta:
tc-tagged-\%24\%3A\%2Ftags\%2FStylesheetFirst install TiddlyWiki as described in Installing TiddlyWiki on Node.js.
~/MyWiki)tiddlywiki.info containing the following text:{"themes": ["tiddlywiki/vanilla","tiddlywiki/snowwhite"]}tiddlerseditions/empty folder from the TiddlyWiki5 repo~/MyWiki/tiddlers directorytiddlywiki ~/MyWiki --rendertiddler $:/core/save/all index.html text/plainImagine that you are using a Table of Contents macro similar to this:
<<toc-selective-expandable "TableOfContents" "sort[title]" >>The sorting is fine for most cases, but you would like all your items tagged Journal to be sorted by the created field. How can you apply a separate sort order to just those sub-items tagged Journal?
The trick is to add a field to the parent tagging tiddler (i.e. Journal) that points to a different sort criteria. Let's call the field fuzzy, and populate it with the value created (created is the name of the field that contains a tiddler's creation date).
Now change your Table of Contents to look like this:
<<toc-selective-expandable "TableOfContents" "sort{fuzzy}" >>Now your Table of Contents will sort by title everywhere, except for the children of the Journal tiddler, which will sort by the created date.
The downside to this trick is that you can't apply a reverse sort based on just one special field. If you reverse the sort order, it will be reversed everywhere.
A tiddler with the prefix $:/config/ShortcutInfo/ and a unique suffix appended, like my-shortcut, makes the new shortcut appear in the $:/ControlPanel within the Keyboard Shortcuts Tab. An optional description can be added within its text field
In the Keyboard Shortcuts Tab the key combination that should trigger the shortcut can be configured:
Look for the unique suffix defined for the new shortcut and click the button to open a popup that detects key combinations and shows the detected combination in its input field
The add shortcut assigns the key-combination to the shortcut
$:/config/shortcuts/ + the shortcut suffix for shortcuts that will work on all platforms (operating systems)
$:/config/shortcuts-(mac/not-mac/windows/not-windows/linux/not-linux)/ + the shortcut suffix for shortcuts that will work on the chosen platform only or that will not work on the excluded platform
my-shortcutmy-shortcutmy-shortcutmy-shortcutmy-shortcutmy-shortcutmy-shortcutA
$keyboardwidget detects the key combinations pressed within aninputortextareafield within its scope. The$keyboardwidget needs to "embrace" theinputortextareafield and itskeyattribute either points to a configuration tiddler using the Key Descriptor Syntax or explicitely contains the key
<$keyboard key="((my-shortcut))" actions='<$action-setfield $tiddler="my-tiddler" $field="my-field" $value="my-value"/>'>
<$edit-text tag="input" tiddler="my-tiddler"/>
</$keyboard><$keyboard key="alt-shift-M" actions='<$action-setfield $tiddler="my-tiddler" $field="my-field" $value="my-value"/>'>
<$edit-text tag="input" tiddler="my-tiddler"/>
</$keyboard>If actions are defined , the
$keyboardwidget will invoke the actions defined in itsactionsattribute when it detects the key-combination defined in itskeyattribute being pressed in anyinputortextareafield within its scope
The actions for global keyboard shortcuts are stored in the text field of tiddlers tagged with
The key field connects an action-tiddler with the corresponding shortcut through the
((my-shortcut))syntax, called Keyboard Shortcut Descriptor
(( + a chosen suffix + )) If the tiddler has the tag , the field key with the Keyboard Shortcut Descriptor as its value and some actions in its text field, the actions will be triggered when the mechanism detects the configured key-combination
\import $:/core/ui/PageMacros [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]
If the tiddler that contains the macro definition is known and - for example - titled my-macro-tiddler
\import my-macro-tiddler
$action-navigate (ActionNavigateWidget)
WidgetMessage: tm-cancel-tiddler
WidgetMessage: tm-close-all-tiddlers
WidgetMessage: tm-close-other-tiddlers
WidgetMessage: tm-close-tiddler
WidgetMessage: tm-delete-tiddler
WidgetMessage: tm-edit-tiddler
WidgetMessage: tm-import-tiddlers
WidgetMessage: tm-new-tiddler
WidgetMessage: tm-perform-import
WidgetMessage: tm-save-tiddler
Before experimenting with TiddlyDesktop internals you should find the location of the “user configuration folder” - click the “Settings” button on the main TiddlyDesktop window, and then click the button “Open user config folder”. Then move up to locate the parent folder, which should be called “TiddlyDesktop”. If things go wrong, you can reset TiddlyDesktop to its factory state by deleting this entire folder.
Click the Backstage button on the main TiddlyDesktop window to open the backstage wiki. This is is a Node.js-like instance of TiddlyWiki that runs the UI and logic of TiddlyDesktop.
Within the backstage wiki, locate the tiddler WikiListToolbar (there’s a link in HelloThere). Click it into edit mode and you’ll see the wikitext for all the toolbar buttons. If you make modifications and click “done” then the changes will immediately be reflected in the main TiddlyDesktop window.
You can copy the code for the “reveal backups” button from the tiddler $:/TiddlyDesktop/Settings and paste it into WikiListToolbar.
Just as usual in TiddlyWiki: you can use the palette, or define your own custom CSS.
Open the WikiList tiddler, edit it, and scroll to the end. Then change the <$list> widget inside the wikilist macro:
<$list filter="[tag[wikilist]sort[title]!has[draft.of]]" emptyMessage="Add a ~TiddlyWiki file or folder to get started. Click the buttons above to browse, or drag and drop from your file Explorer/Finder" storyview="pop">Note: Before we dive into how you can embed files of a certain type, you may want to consider not embedding and instead simply linking to external resources like this:
[ext[title|path/to/that.file]] Then let your browser decide how to handle the resource. The advantage to this approach is that it is simple and quick. The disadvantage is that the file doesn't actually travel with the TW5 file and that you can't use node.js with method #2 below to quickly file paths.
One is to drag and drop the file onto your TW5 file. Wait for the green bar to appear at the top, drop, and then import from the import tiddler. This actually embeds the contents of your imported PDF (or other file) into your TW5 file.
This method be OK as long as your PDF is not too big. There can be concerns if your TW5 file becomes too big.
The other way is to create a tiddler link to the external file. In this method the file is not actually incorporated into your TW5 file, but can be accessed with the {{My Image File.jpg}} transclusion syntax just like an embedded file. The location address of the file can also be changed under node.js. See ExternalImages for details of using external images with node.js.
Create a tiddler with a field _canonical_uri. Put in the local address to the external file. Set the type field to application/pdf.
With either way, with an appropriately configured browser, you should see your embedded PDF file.
There's only so many file formats that TW5 knows about. There is a list at ContentType. If your browser and/or TW5 doesn't know what to do with a particular file format, then you can only the use the second method to embed and then download a file. When you edit the tiddler a link is presented. You can right click on the link in order to download the file.
Para exportar todos los tiddlers del wiki, haz clic en la pestaña Herramientas de la barra lateral y a continuación selecciona el botón . Un menú desplegable te dará la opción de exportar los tiddlers en varios formatos.
Si quieres exportar un tiddler en particular, abre primero dicho tiddler y haz clic en el botón de la barra. De la lista desplegable que aparece, selecciona la opción . Un menú desplegable te mostrará las diferentes opciones de exportación disponibles.
Para exportar una selección de tiddlers, haz clic en la lupa junto al área de de la barra lateral para abrir el tiddler de Búsqueda avanzada. Haz clic en la pestaña Filtro, que es la que te permite exportar una selección de tiddlers y escribe el criterio de búsqueda conforme a la sintaxis empleada por los filtros.
Una vez escrita la expresión de filtrado, aparecerá la lista de tiddlers coincidentes con el criterio de búsqueda. Entonces puedes hacer clic en el botón , a la derecha del campo de búsqueda. Un menú desplegable te ofrecerá las opciones de exportación disponibles.
Actualmente, los formatos de exportación disponibles son:
Sometimes you might want to save some screen space by hiding away the author's name in all tiddlers. Here's a quick way to do it:
$:/tags/Stylesheet.tc-subtitle .tc-tiddlylink {display:none;}Similarly, the entire subtitle field including author and date can be removed with:
.tc-subtitle {display:none;}Unfortunately, you can't hide just the date without also hiding the author using CSS.
And finally, for a truly minimalist look, you can remove the title with:
h2.tc-title {display:none;)Así es como se muestra la fecha de última modificación del wiki en un banner, en una esquina de la ventana:
<div class="github-fork-ribbon-wrapper right">
<div class="github-fork-ribbon" style="background-color:#DF4848;">
<$list filter="[!is[system]!has[draft.of]!sort[modified]limit[1]]">
<$link>
<$view field="modified" format="date" template="DD mmm YYYY at 0hh:0mm"/>
</$link>
</$list>
</div>
</div>background-color según tus preferenciasright a right-bottomleftCamelCase is used in most Wikis, but it can interfere with text presentation in some situations.
To turn off a particular instance of a CamelCase text, simply put a tilde (~) in front of the word, like this:
~CamelCaseTo turn off CamelCase in all tiddlers, navigate to the Control Panel. Select the Settings tab and then scroll or read down to the Camel Case Wiki Links section and unselect Enable automatic CamelCase linking.
You can change the width of the main column of tiddlers (also known as the story river) by:
There you will see settings for story right, story width, and tiddler width. By setting these numbers to something larger, you can widen the tiddlers. In general, story right and story width should be the same size, and tiddler width a little bit smaller. You could even use percentages for tiddler width. You will also probably want to change the sidebar breakpoint to something larger than the story river, unless you don't mind the sidebar floating to the top of the page.
HTML tags and comments can be used directly in WikiText. For example:
<article class="hello">
This is my nice and simple block of text. HelloThere
<!-- This comment will not appear in the wikified output -->
</article>Widgets share the same syntax as HTML tags, and so the following information applies to them, too.
To get the content of an HTML element to be parsed in block mode, the opening tag must be followed by two linebreaks.
Without the two linebreaks, the tag content will be parsed in inline mode which means that block mode formatting such as wikitext tables, lists and headings is not recognised.
In an extension of conventional HTML syntax, attributes of elements/widgets can be specified in several different ways:
Literal attribute values can use several different styles of quoting:
attr='value')attr="value")attr="""value""")attr=value)Literal attribute values can include line breaks. For example:
<div data-address="Mouse House,
Mouse Lane,
Rodentville,
Ratland."/>By using triple-double quotes you can specify attribute values that contain single double quotes. For example:
<div data-address="""Mouse House,
"Mouse" Lane,
Rodentville,
Ratland."""/>Transcluded attribute values are indicated with double curly braces around a TextReference. For example:
attr={{tiddler}}
attr={{!!field}}
attr={{tiddler!!field}}Variable attribute values are indicated with double angle brackets around a macro invocation. For example:
<div title=<<MyMacro "Brian">>>
...
</div>Filtered attribute values are indicated with triple curly braces around a Filter Expression. The value will be the first item in the resulting list, or the empty string if the list is empty.
This example shows how to add a prefix to a value:
<$text text={{{ [<currentTiddler>]addPrefix[$:/myprefix/]] }}}>It is often useful to be able to create HTML links to external resources. For example, here the value of the href attribute will be set to the value of the tiddler MyLinkDestination:
<a href={{MyLinkDestination}}>link</a>However, there is an unexpected security issue that means that most of the time the link should have the rel attribute set to noopener noreferrer to maintain privacy of the URLs of private TiddlyWiki's (eg on Dropbox). See https://mathiasbynens.github.io/rel-noopener/ for more information.
<a href={{MyLinkDestination}} rel="noopener noreferrer">link</a>The image-picker macro displays an interactive image picker, as can be seen in the core text editor.
imageTitle contains the title of the tiddler containing the selected image.tag[MyTag]The images are selected by means of a filter expression, into which the subfilter parameter is spliced as follows:
[all[shadows+tiddlers]is[image]$subfilter$!has[draft.of]] -[type[application/pdf]] +[sort[title]]
Image: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>
<$transclude tiddler={{$:/_MyImage}}/>
---
<$macrocall $name='image-picker' actions="
<$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>
"/>
This next example shows how the subfilter parameter limits the list of images (here to those with the "Language" prefix):
Image: <$edit-text tiddler='$:/_MyImage' tag='input' placeholder='(unset)' default=''/>
<$transclude tiddler={{$:/_MyImage}}/>
---
<$macrocall $name='image-picker' actions="
<$action-setfield $tiddler='$:/_MyImage' $value=<<imageTitle>>/>
" subfilter="prefix[Language]"/>
Este es un ejemplo de uso de ListWidget y TranscludeWidget para mostrar una cuadrilla de las imágenes del sistema (es decir, de tiddlers con la etiqueta $:/tags/Image).
Se puede insertar y dar formato a imágenes con WikiText. La sintaxis para ello es la siguiente:
[img atributo [descripción|origen]]
| Acción | Sintaxis | Código de ejemplo | Resultado |
|---|---|---|---|
| Insertar imagen (origen interno) | [img[Título del tiddler con la imagen]] | [img[Motovun Jack.jpg]] | |
| Insertar imagen (origen externo) | [img[URL de la imagen]] | [img[https://tiddlywiki.com/favicon.ico]] | |
| Insertar imagen con descripción emergente | [img[descripción|origen]] | [img[Descripción emergente|Motovun Jack.jpg ]](Pasa el ratón por encima de la imagen para ver la descripción emergente) | |
| Insertar imagen con atributos | [img atributo[descripción|origen]] | [img width=100 [Motovun Jack.jpg]] |
Los atributos pueden definirse directamente como el valor de clases CSS como ancho y altura o por transclusión o referencia de variables.
La sintaxis de imágenes en TiddlyWiki se compone de métodos abreviados para invocar ImageWidget.
También puede mostrarse la imagen contenida en un tiddler por transclusión de este, escribiendo el título del tiddler entre llaves. Esto simplifica muchas veces la inclusión, pero tiene la desventaja de no poder controlar directamente el tamaño de la imagen.
{{Motovun Jack.jpg}} se muestra como:
Por imágenes externas nos referimos en tiddlywiki a tiddlers que, en lugar de incrustarla, apuntan a la URI de una imagen. Se trabaja más rápido que con imágenes incrustadas, especialmente si el wiki contiene gran número de imágenes o imágenes muy grandes. Sin embargo, supone abandonar la política inicial de "único archivo" de TiddlyWiki.
Las imágenes esternas se usan en el navegador. Puede crearlas la configuración de Node.js al construir TiddlyWiki o pueden crearse manualmente en el navegador.
Una imagen externa es un tiddler de imagen que contiene el campo _canonical_uri cuyo valor es la URI de la imagen en cuestión. La URI puede ser absoluta o relativa al documento HTML. El campo text de un tiddler se ignora o se omite cuando se proporciona URI canónica de una imagen externa.
Para crear manualmente una imagen externa, simplemente crea un tiddler con el tipo apropiado de contenido y añade el campo _canonical_uri indicando la ruta actual a la imagen.
Para crear un archivo HTML estático de TiddlyWiki acompañado por una carpeta de imágenes externas referenciadas en el HTML
Las imágenes deben añadirse a la subcarpeta antes de externalizar los tiddlers. El campo _canonical_uri invalida el campo text del tiddler, lo que lleva consigo que cualquier ulterior intento de guardado fallará.
Como ejemplo, véase el target externalimages de la demo "tw5.com":
--savetiddlers [is[image]] images
--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
--setfield [is[image]] text "" text/plain
--rendertiddler $:/core/save/all externalimages.html text/plainPara guardar las imágenes de un wiki en una subcarpeta images puede usarse el comando --savetiddlers de la siguiente manera:
--savetiddlers [is[image]] imagesSe usan dos comandos --setfield: el primero establece el campo con valor derivado del título del tiddler. El segundo limpia el campo text.
--setfield [is[image]] _canonical_uri $:/core/templates/canonical-uri-external-image text/plain
--setfield [is[image]] text "" text/plainLa plantilla $:/core/templates/canonical-uri-external-image contiene:
<!-- This template is used to assign the ''_canonical_uri'' field to external images. Change the `./images/` part to a different base URI. The URI can be relative or absolute. --> ./images/<$view field="title" format="doubleurlencoded"/>
No es posible editar una imagen externa directamente en el navegador, salvo para editar la URI de forma que apunte a otra imagen.
The image widget displays images that can be specified as a remote URL or the title of a local tiddler containing the image.
Any content of the <$image> widget is ignored.
| Attribute | Description |
|---|---|
| source | The URL of the image, or the title of an image tiddler |
| width | The width of the image |
| height | The height of the image |
| tooltip | The tooltip to be displayed over the image |
| alt | The alternative text to be associated with the image |
| class | CSS classes to be assigned to the <img> element |
The width and the height can be specified as pixel values (eg "23" or "23px") or percentages (eg "23%"). They are both optional; if not provided the browser will use CSS rules to size the image.
When used to display tiddler-based images, the image widget operates in two distinct modes:
<img> element and the text field is ignored<img> element that embeds the image data directly using a data: URI.See ExternalImages for more details.
Import tiddlers from TiddlyWiki (.html), .tiddler, .tid, .json or other local files. The deserializer must be explicitly specified, unlike the load command which infers the deserializer from the file extension.
--import <filepath> <deserializer> [<title>] [<encoding>]The deserializers in the core include:
The title of the imported tiddler defaults to the filename.
The encoding defaults to "utf8", but can be "base64" for importing binary files.
Note that TiddlyWiki will not import an older version of an already loaded plugin.
You can import tiddlers into a TiddlyWiki from external files or directly from another TiddlyWiki.
There are several ways to import content from external files:
Most files are imported as individual tiddlers. The exceptions are:
Tiddlers can be imported from other TiddlyWiki browser windows via Drag and Drop. Drag a tiddler link or tag from one TiddlyWiki browser window to another. Dragging a link will import a single tiddler while dragging a tag pill will import all of the tiddlers that carry that tag.
En TiddlyWiki puedes importar contenido de varias maneras:
The ImportVariablesWidget imports macro and variable definitions from a list of other tiddlers and makes them available to its children. For example:
<$importvariables filter="[tag[mySpecialMacros]]">
All the macros defined in tiddlers with the tag "mySpecialMacros" are available here
</$importvariables>The content of the importvariables widget is the scope within which the imported variable definitions are available.
| Attribute | Description |
|---|---|
| filter | Tiddler filter defining the tiddlers from which macro definitions will be imported |
So-called global macros are implemented within the main page template ($:/core/ui/PageTemplate) by wrapping the page content in the following importvariables widget:
<$importvariables filter="[[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]">
...
</$importvariables>\import Pragma New in: 5.1.18 The \import pragma is an alternative syntax for using the ImportVariablesWidget. For example, the previous example could be expressed as:
\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]Cualquiera puede proponer mejoras en la documentación de TiddlyWiki que aparece en https://tiddlywiki.com.
Jermolene u otro de los desarrolladores principales tendrán así la oportunidad de incorporar tus cambios en la próxima edición de https://tiddlywiki.com.
Mario Pietsch ha creado estos videotutoriales al respecto:
A plugin that allows changes to be synchronised with the IndexedDB database that is built-in to most browsers.
Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).
| purpose | select all data properties of the input titles |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | all the property names or indices contained in the input data tiddlers |
Each input title is processed in turn, and is ignored if it does not denote a data tiddler. The list of property names is retrieved from the data tiddler (in no particular order) and then dominantly appended to the operator's output.
Where a tiddler's content is JSON with an array as its root, the indexes operator retrieves a selection of integer indices instead.
System tiddlers in the namespace $:/info/ are used to expose information about the system (including the current browser) so that WikiText applications can adapt themselves to available features.
| Title | Description |
|---|---|
| $:/info/browser | Running in the browser? ("yes" or "no") |
| $:/info/browser/screen/width | Screen width in pixels |
| $:/info/browser/screen/height | Screen height in pixels |
| $:/info/node | Running under Node.js? ("yes" or "no") |
| $:/info/url/full | New in: 5.1.14 Full URL of wiki (eg, ) |
| $:/info/url/host | New in: 5.1.14 Host portion of URL of wiki (eg, ) |
| $:/info/url/hostname | New in: 5.1.14 Hostname portion of URL of wiki (eg, ) |
| $:/info/url/origin | New in: 5.1.14 Origin portion of URL of wiki (eg, ) |
| $:/info/url/pathname | New in: 5.1.14 Pathname portion of URL of wiki (eg, ) |
| $:/info/url/port | New in: 5.1.14 Port portion of URL of wiki (eg, ) |
| $:/info/url/protocol | New in: 5.1.14 Protocol portion of URL of wiki (eg, ) |
| $:/info/url/search | New in: 5.1.14 Search portion of URL of wiki (eg, ) |
Cada tiddler contiene un panel oculto con información adicional. Para mostrarlo, haz clic en el botón en la barra del título y selecciona el botón en la lista desplegable.
El InfoPanel contiene las siguientes pestañas:
textPara cerrar el panel, basta con hacer clic fuera de él.
Inicializa una WikiFolder con una copia en blanco de la edición especificada.
--init <edition> [<edition> ...]Por ejemplo:
tiddlywiki ./MyWikiFolder --init emptyNota:
--init fallará si el directorio no está vacío--init elimina toda definición de includeWikis contenida en el archivo tiddlywiki.infoarchivo tiddlywiki.info final será el que corresponda a la última edición que se indique.
--editions muestra una lista de ediciones disponiblesSee also:
| purpose | insert an item T into a list immediately before an item B |
|---|---|
| input | a selection of titles |
| suffix | B = the name of a variable containing the title of the tiddler before which this one should be inserted |
| parameter | T = the title of the tiddler to insert |
| output | the input tiddler list with the new entry inserted |
If the item B isn't present in the input list then the new item is inserted at the end of the list.
Seguir instrucciones cuando se utiliza TiddlyWiki en versión archivo HTML:
Seguir instrucciones cuando se utiliza TiddlyWiki en versión servidor Node.js:
$:/plugins/tiddlywiki/internals es identificado como tiddlywiki/internalstiddlywiki.info (está en formato JSON) y ubicar la sección plugins, themes or languages (ver abajo){
"plugins": [
"tiddlywiki/codemirror"
],
"themes": [
"tiddlywiki/vanilla",
"tiddlywiki/snowwhite"
],
"languages": [
"es-ES",
"fr-FR",
"en-EN"
]
}Microsoft's Internet Information Server (IIS) is the built-in web server for Windows. It can be useful to host TiddlyWiki within IIS in order to take advantage of IIS features like URL rewriting, static file hosting and automatic restarts after a crash.
C:\MyStuff)C:\MyStuff\package.json with the content:{ "name": "MyStuff", "description": "A description of this wiki", "dependencies": { "sax": "1.2.4", "tiddlywiki": "*" } }
C:\MyStuff\web.config with the content:<?xml version="1.0" encoding="UTF-8"?> <configuration> <system.webServer> <handlers> <add name="httpplatformhandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" requireAccess="Script" /> </handlers> <httpPlatform stdoutLogEnabled="true" stdoutLogFile=".\node.log" startupTimeLimit="20" processPath="C:\Program Files\nodejs\node.exe" arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki --listen port=PORT path-prefix=/MyApp"> <environmentVariables> <environmentVariable name="PORT" value="%HTTP_PLATFORM_PORT%" /> <environmentVariable name="NODE_ENV" value="Production" /> </environmentVariables> </httpPlatform> </system.webServer> </configuration>
C:\MyStuff\wiki)C:\MyStuff\wiki\tiddlywiki.info with the content:{ "description": "My wiki", "plugins": [ "tiddlywiki/tiddlyweb", "tiddlywiki/filesystem" ], "themes": [ "tiddlywiki/vanilla", "tiddlywiki/snowwhite" ] }
C:\MyStuff\wiki\tiddlers)C:\MyStuff\wiki\tiddlers\config-tiddlyweb-host.tid with the content:title: $:/config/tiddlyweb/host text: $protocol$//$host$/MyApp/
npm install within the C:/MyStuff directoryinetmgr.exe)MyAppC:\MyStuffTest the app by visiting http://localhost/MyApp/ in a browser.
--listen command in web.config. For example:arguments=".\node_modules\tiddlywiki\tiddlywiki.js ./wiki-server --listen username=joe "password=bloggs" port=PORT path-prefix=/MyApp">"web.config file, or modify the app code, then you'll need to restart the server using the IIS manager application
npm install -g tiddlywiki(ver nota * más abajo)Si te da fallo, necesitas volver a ejecutar la orden como administrador:
sudo npm install -g tiddlywiki(Mac/Linux)
tiddlywiki --version
tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
tiddlywiki --build index
Nota: El argumento
-ghace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo
node: command not foundpese a haber instalado node.js, puede que necesites crear un enlace simbólico entrenodejsynode. En tal caso, consulta el manual de tu distribución de Linux ywhereis(más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).Ejemplo en Debian v8.0:
sudo ln -s /usr/bin/nodejs /usr/bin/node
npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed onetiddlywiki editions/tw5.com-server --listenAfter this procedure you can work with TiddlyWiki5 via npm as though it had been installed in the usual way with npm install -g tiddlywiki.
Update the clone from time to time in order to ensure that you have the latest code.
Las instruciones de uso hablan directamente al lector –presumiblemente principiante o intermedio– y lo guían a través de determinado proceso.
Estos pueden subcategorizarse como:
Las instrucciones de uso hablan al lector directamente y "de tú" y pueden ser razonablemente informales en su tono, pero debe evitarse el uso de coloquialismos, regionalismos, referencias culturales y humorísticas, ya que pueden desconcertar o incluso ofender a lectores internacionales.
Al hablar de características y procedimientos, hay que intentar no frustrar al lector abusando de expresiones como "conveniente" o "fácil".
Guía para arreglar un repositorio roto de Git, al estilo elige tu propia aventura
http://sukima.github.io/GitFixUm/
Este documento es un intento de hacer una guía bastante exhaustiva para recuperar un repositorio de Git de lo que no tenías intención de hacer.
No es que Git sea tan complicado que necesites todo un libro para resolver tu problema en particular, sino que el abanico de cosas que puedes haber hecho para armar lío es tan grande, que se necesitan varias técnicas para solucionarlo, dependiendo de qué hayas hecho y de qué querías hacer.
El caso más simple es aquel en que ya conoces exactamente qué tiddlers quieres seleccionar. Escribe cada título en corchetes dobles, separados por por un espacio:
[[Libro de recetas]] [[HuevosRevueltos]] [[Tarta de manzana de mamá]]
Se pueden opitir los corchetes si el título no contiene espacios:
[[Libro de recetas]] HuevosRevueltos [[Tarta de manzana de mamá]]
Los corchetes dobles son, de hecho, la abreviatura de un filtro:
[title[HuevosRevueltos]]
... que nos sirve de modelo genera para cualquier filtro:
[operador[parámetro]]
Por ejemplo: Para seleccionar todos los tiddlers etiquetados como Receta:
operador
> [tag[Recetas]]
Podemos invertir el significado añadiendo un signo de exclamación ! al operador. Así, por ejemplo, para seleccionar aquellos tiddlers que no contengan la etiqueta Recetas, escribiremos:
[!tag[Recipe]]
Se pueden filtrar tiddlers por otros campos, no sólo por título y etiqueta:
[field:raciones[4]]
Con este ejemplo se seleccionarán todos aquellos tiddlers que tengan 4 como valor del campo raciones.
Como la palabra "raciones" no es operador estándar de filtro y es improbable que alguna vez lo sea, se puede omitir sin peligro alguno el prefijo field:
[raciones[4]]
Los filtros vistos hasta ahora constan de un único paso, pero se se puede ejecutar una instrucción que consta de varios varios pasos, del modo siguiente:
[tag[Vegetariano]!tag[sopas]raciones[4]](Nótese cómo la instrucción entera queda encerrada por corchetes.
Un tiddler debe coincidir con todos los pasos de la instrucción. Así, el ejemplo anterior nos devolverá una lista de recetas vegetarianas –excepto sopas–, para 4 personas.
Una secuencia de instrucciones separadas seleccionará los tiddlers que coincidan con cualquiera de ellas. Puede servirnos para, por ejemplo, encontrar recetas para 3, 4 ó 5 personas, es decir, que cumplan cualquiera de las condiciones impuestas por estas: la primera, la segunda O la tercera.
[raciones[3]] [raciones[4]] [raciones[5]]
Y, si quisiéramos ignorar las recetas vegetarianas para 4 personas, podríamos decir:
[raciones[3]] [raciones[4]!tag[Vegetariano]] [serving[5]]
Por defecto, cada instrucción toma en consideración todos los tiddlers del wiki, pero podemos usar el signo + para restringir la acción de una instrucción a los tiddlers seleccionados por las precedentes, del modo que el resultado cumpla todas las condiciones: la anterior Y esta.
[raciones[3]] [raciones[4]] [raciones[5]] + [tag[Vegetariano]] +[sort[title]]
Asi seleccionaremos recetas para 3, 4 ó 5 personas y de entre estas, únicamente las vegetarianas, para, finalmente, ordenarlas por orden alfabético de sus títulos.
De forma análoga podemos usar el signo - para eliminar los tiddlers que cumplen determinada condición de los resultados obtenidos hasta el momento, de modo que se cumplan unas condiciones Y NO las otras.
Así podemos, por ejemplo, seleccionar todas las recetas vegetarianas salvo dos de ellas en particular:
[tag[Vegetariano]] -[title[HuevosRevueltos]] -RopaVieja
...o todas las recetas sin gluten, menos las vegetarianas:
[raciones[3]] [raciones[4]] [raciones[5]] + [tag[Sin gluten]] -[tag[Vegetariano]] +[sort[title]]
Los parámetros de cada instrucción de filtrado vista hasta el momento se indica entre corchetes, significando con ello que TiddlyWiki debe interpretarlos literalmente, pero tenemos otras formas de indicar parámetros:
Entre llaves {}, para indicar que el parámetro es una referencia de texto y que debe buscar su valor en el texto de un tiddler en particular.
Por ejemplo: si tenemos un tiddler llamado Preferencias, cuyo texto es la palabra Vegetariano, podemos decir
[tag{Preferencias}]
como alternativa a [tag[Vegetariano]]. Esto permite que las preferencias cambien, sin necesidad de modificar el criterio de búsqueda.
Entre comillas angulares simples <>, para indicar que el parámetro es el nombre de una variable cuyo valor debe usar.
Aquí usaremos la variable incorporada currentTiddler en un filtro que selecciona todos los tiddlers cuyo texto contiene el título del actual:
[search<currentTiddler>]
Making lists of items plays a central role in working with TiddlyWiki. The following is a brief run-through of some of the more common techniques.
TiddlyWiki uses lists internally for many purposes so the word can have several meanings. Here we are concerned with displaying sequences of items, but not necessarily presented as a conventional bullet list.
WikiText lists are manually typed lists that use a special character to specify what sort of list it is and how it should be displayed.
Examples include bullet lists created with asterisks (*) and numbered lists (#). Behind the scenes, WikiText lists are based on the standard <ul> and <li> HTML elements. For more information see Lists in WikiText.
An example of a typed list in WikiText:
* Greatest Movies of All Time
** Casa Blanca
** Pride and Prejudice and ZombiesEste es su aspecto:
Lists can be automatically generated with the ListWidget using filters in which filter operators specify criteria for selecting which tiddlers are desired as output. Shortcut macros are provided for some common types of list.
The ListWidget is the most powerful tool for creating lists. It allows the filtered output to be manipulated and styled into forms that may not seem to resemble lists at all, for example tables or complex texts. For more details, see ListWidget.
An example to show all tiddlers tagged with "HelloThere" might look like:
<$list filter="[tag[HelloThere]]"><$view field="title"/><br/></$list>Este es su aspecto:
A Gentle Guide to TiddlyWiki
Discover TiddlyWiki
Some of the things you can do with TiddlyWiki
Ten reasons to switch to TiddlyWiki
Examples
What happened to the original TiddlyWiki?
The syntax for filtered transclusion {{{...}}} takes a filter as input and outputs a linked list of matching titles. You can also apply a template, for example:
{{{ [tag[HelloThere]] || $:/core/ui/TagTemplate }}}Este es su aspecto:
The list-links macro gives a preformatted list, typically a bullet list, in a more simplified way than by using the ListWidget. Behind the scenes it really is the ListWidget applying a default template to each list item.
<<list-links "[tag[HelloThere]]">>Este es su aspecto:
list, list-before and list-after are all field names to control the position of tiddlers in a list. Fields are a way to add additional bits of structured information to a tiddler such as date, quantity, category, etc.
list and listed are filter operators to, respectively, select and find titles in lists.
Esta breve presentación expone los principios básicos de TiddlyWiki.
El TiddlyWiki usado para este video se encuentra aquí:
| purpose | filter the input by fundamental category |
|---|---|
| input | a selection of titles |
| parameter | C = a category |
| output | those input tiddlers that belong to category C |
! output | those input tiddlers that do not belong to category C |
The parameter C is one of the following fundamental categories:
| Category | Matches any tiddler that... |
|---|---|
current | is the current tiddler |
image | has an image ContentType |
missing | does not exist (other than possibly as a shadow tiddler), regardless of whether there are any links to it |
orphan | has no hard links to it |
shadow | is a shadow tiddler, regardless of whether it has been overridden with a non-shadow tiddler |
system | is a system tiddler, i.e. its title starts with $:/ |
tag | is in use as a tag |
tiddler | exists as a non-shadow tiddler |
If C is anything else an error message is returned. New in: 5.1.14 if C is blank, the output is passed through unchanged (in earlier versions an error message was returned).
!is[tiddler] is a synonym for is[missing], and vice versa.
When is[missing] is the first operator in a run, its output is always empty. And when is[shadow] comes first, it outputs only those shadow tiddlers that have been overridden. This is because the initial input to a run contains only non-shadow tiddlers.
The all operator is similar, but its scope is the whole wiki.
[is[tag]]
[!is[tag]]
[all[shadows]!is[system]]
$:/[is[system]tag[$:/tags/Stylesheet]]
[all[shadows]is[system]tag[$:/tags/Stylesheet]]
[is[shadow]]
[is[missing]]
JavaScript es un lenguaje de programación originariamente para incluir pequeños scripts en páginas web. Por ese motivo se lo consideraba más un juguete que un lenguaje en sí. Con los años, sin embargo, se ha reconocido su potencial y se ha ganado por propio derecho un lugar en la programación más allá de los límites del propio navegador y la web.
JavaScript tiene este aspecto:
function circleArea(radius) {
return radius * 2 * 3.141592653;
}JSON is a standard plain-text format used for modelling hierarchical structures of objects that contain named fields.
DataTiddlers can have JSON content.
The jsontiddlers macro returns tiddler content in JSON format.
I'm the original inventor of TiddlyWiki. You can hire me through Federatial, and find me on these services:
Further information:
| purpose | apply JSON string encoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with JSON string encodings applied |
The following substitutions are made:
| Character | Replacement |
|---|---|
\ | \\ |
" | \\ |
' | \\ |
\r (carriage return) | \\r |
\n (line feed) | \\n |
| Characters from 0x00 to 0x1f | \\x## where ## is two hex digits |
| Characters from 0x80 to 0xffff | \\u#### where #### is four hex digits |
Also see the stringify Operator.
[[Title with "double quotes" and single ' and \backslash]] +[jsonstringify[]]
A JSON tiddler is a data tiddler containing a JSON structure in its text field.
Its ContentType is application/json.
The history list is a good example of a JSON tiddler.
The jsontiddlers macro returns the fields of a selection of tiddlers in JSON form.
An example can be seen in the template tiddler for JSON exports.
Este plugin permite mostrar notación matemática escrita en LaTeX.
Disponible en: https://tiddlywiki.com/plugins/tiddlywiki/katex/
Keyboard Shortcut Descriptors are used by the KeyboardWidget and within Tiddlers tagged to link actions with a keyboard combination
A Keyboard Shortcut Descriptor has the following format:
ctrl+enter
ctrl+shift+alt+A
alt-shift-T
alt-SpaceIt can have multiple Key combinations:
ctrl+enter alt+shift+A ctrl+alt+9 alt-Space ctrl-BackspaceThere are two ways Keyboard Shortcut Descriptors can be used:
key="ctrl-enter" to the KeyboardWidgetctrl-enter as the value of the key field in a Tiddler tagged $:/config/shortcuts or one of the following platform descriptors:shortcuts-linuxshortcuts-not-linuxshortcuts-macshortcuts-not-macshortcuts-windowsshortcuts-not-windows/ followed by a suffix that can be chosen freelyKeyboard Shortcut Descriptor (A)(( + the identifier (A) + ))((my-shortcut)) is the reference to these configuration Tiddlers:A Keyboard Shortcut Tiddler is made of three parts:
key with a Keyboard Shortcut Descriptor as its valueIf the Keyboard Shortcut Descriptor has the form ((my-shortcut)) it's a reference to a configuration Tiddler that stores the corresponding Keyboard Shortcut
In order to make a shortcut editable through the Atajos de teclado Tab in the $:/ControlPanel it's sufficient to create a tiddler $:/config/ShortcutInfo/my-shortcut, where the suffix is the reference used for the Keyboard Shortcut
TiddlyWiki ofrece actualmente un muy limitado soporte de atajos de teclado, pero está en proyecto desarrollarlo en próximas ediciones.
| Teclas | Descripción |
| ctrl-enter | Confirmar los cambios realizados en el borrador en foco |
| escape | Descartar los cambios realizados y abandonar la edición del borrador en foco |
The keyboard widget allows ActionWidgets to be triggered by specific key combinations. There is also a shorthand for generating Messages via the message and param attributes.
The content of the <$keyboard> widget is rendered normally. The keyboard shortcuts only take effect when the focus is within the contained content.
| Attribute | Description |
|---|---|
| actions | A string containing ActionWidgets to be triggered when the key combination is detected |
| message | The title of the WidgetMessage to generate |
| param | The parameter to be passed with the WidgetMessage |
| key | Key string identifying the key(s) to be trapped (see below) |
| class | A CSS class to be assigned to the generated HTML DIV element |
| tag | New in: 5.1.14 The html element the widget creates to capture the keyboard event, defaults to: » span when parsed in inline-mode» div when parsed in block-mode |
Key strings are made up of one or more key specifiers separated by spaces. Each key specifier is zero or more of the modifiers alt, shift, ctrl or meta followed by the name of a key, all joined with "+" plus or "-" minus symbols. Key names are either the letter or digit printed on the key (eg "a" or "1"), or one of the special keys backspace, tab, enter or escape.
For example:
A
shift+A
shift+escape
ctrl+enter
ctrl+shift+alt+A티들리위키 한국어 번역은 다음에서 사용할 수 있습니다:
Here is an example of using the ListWidget and the TranscludeWidget to show a grid of all of Language Icons which are tiddlers tagged and
La interfaz de usuario de TiddlyWiki está disponible en más de 20 idiomas. Puedes instalar cualquiera de ellos desde el panel de control, en la pestaña Plugins.
Aprendiendo a traducir TiddlyWiki a tu idioma puedes contribuir a ampliar la librería.
Existen ediciones precompiladas en algunos idiomas, que contienen documentación adicional:
| purpose | select the last N input titles |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 1 |
| output | the last N input titles |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]last[]]
[list[Days of the Week]last[5]]
[tag[Concepts]!sort[title]last[3]]
Las últimas noticias, artículos, recursos y ejemplos.
Implementation of TiddlyWiki Coding Style Guidelines for different IDEs.
A topical index of known plugins, tutorials, themes, and other helpful tools for TiddlyWiki.
https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM
Some of the topics indexed so far include:
Timimi is a Web Extension and executable for Firefox, Chrome and Chromium that allows it to save standalone TiddlyWiki files.
https://github.com/ibnishak/Timimi
This is an addon using native messaging, essentially handing over the contents to a webextension host (executable) which does the actual saving. Once installed, you can save the standalone TW from anywhere in your hard drive without any more interactions, like the original Tiddlyfox addon.
TiddlyWiki5 Packaged with the multi-user plugin in a single executable file.
https://github.com/OokTech/TW5-SingleExecutable
Tiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux.
A cross platform server application that can save tiddlers to a local database
https://github.com/opennota/widdly
a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.
Dynamic Tables is a set of macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.
A desktop application for TiddlyWiki, running on Windows.
https://lamusia.github.io/#ATWiki
TiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.
A terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the muuri plugin by Uwe Stuehler.
Generalmente, todo el contenido de todos los tiddlers se incrusta en el archivo HTML principal. Lazy loading o Carga diferida es la técnica por la que sólo se incrustan los metadatos del tiddler (es decir, todos los campos menos text), que se pide al servidor cuando se necesita. (Más información, aquí)
Puede aplicarse carga diferida en dos configuraciones:
Para iniciar TiddlyWiki en carga diferida de imágenes, utiliza este comando:
tiddlywiki --server 8080 $:/core/save/lazy-imagespara aplicar la carga diferida a todos los tiddlers salvo los de sistema, utiliza este este otro:
tiddlywiki --server 8080 $:/core/save/lazy-allEn la configuración actual, la carga diferida se aplica por defecto.
A mapping plugin based on Leaflet library. Allows you to create maps based upon geographical data contained in tiddlers.
http://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin
The leaflet plugin is a (working) attempt to integrate the leaflet library in TiddlyWiki in order to display geographical purpose tiddlers.
For now
<$leafmap>widget displays an interactive map. Select size, location and zoom, clustering distance, and background. You can display data : geojson, point(s), polygon(s) and/or polyline(s) directly or calling GeoTiddler(s). Tiddler can be called individually, by list or with a filter.Have a look at demo page on the web.
Aprende a usar TiddlyWiki:
MIra también la documentación completa, que incluye nociones avanzadas de WikiText, macros, widgets, filtros... etc.
TiddlyWiki is published under a permissive BSD 3-Clause License stored in the shadow tiddler $:/core/copyright.txt:
TiddlyWiki created by Jeremy Ruston, (jeremy [at] jermolene [dot] com)
Copyright (c) 2004-2007, Jeremy Ruston
Copyright (c) 2007-2018, UnaMesa Association
All rights reserved.
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
* Neither the name of the copyright holder nor the names of its
contributors may be used to endorse or promote products derived from
this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 'AS IS'
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.In layman's terms, the license says that you can take TiddlyWiki and do anything you want with it without any license fee payment or other legal obligation to the creators of TiddlyWiki or anyone else. The quid pro quo is that there is no warranty or guarantee with open source projects like TiddlyWiki. You can't sue the contributors to TiddlyWiki for any loss or damage due to the use of TiddlyWiki: even if your data is lost due to a tragic chain of circumstances that involves TiddlyWiki.
You are respectfully requested that to make an attribution to the project, but there's no obligation to do so.
For the avoidance of doubt, any information that you choose to store within your own copy of TiddlyWiki remains yours; using TiddlyWiki to publish content doesn't change whatever rights you may have to that content.
| purpose | select the first or last N input titles |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 0 |
| output | the first N input titles |
! output | the last N input titles |
limit[N] and !limit[N] are synonyms for first[N] and last[N] respectively.
[sort[modified]!limit[20]]
[has[created]sort[created]limit[10]]
The lingo macro relates to the translation of TiddlyWiki's user interface into other languages. It returns a piece of text in the user's currently selected language.
Translatable text is supplied by language plugins containing tiddlers with specific titles that start with $:/language/.
$:/language/ is added automaticallyThis example shows the text used as the basis for the title of a newly created tiddler:
<<lingo DefaultNewTiddlerTitle>>
This example shows the name of the eighth month of the year, for use in formatting dates:
<<lingo Date/Long/Month/8>>
The link catcher widget traps WidgetMessage: tm-navigate dispatched within its child content by performing any or all of these actions:
The content of the <$linkcatcher> widget is displayed normally.
| Attribute | Description |
|---|---|
| to | Optional title of the tiddler to be set to the title of the navigated tiddler |
| message | Optional identifier for a widget message to be sent when a navigation is caught |
| set | Optional title of the tiddler to be set to a specified value when navigation occurs |
| setTo | Value to be assigned by the set attribute |
| actions | Actions to be performed when a link is caught. Within the action string, the variable "navigateTo" contains the title of the tiddler being navigated |
A key capability of WikiText is the ability to make links to other tiddlers or to external websites.
Link to a tiddler by title:
[[Tiddler Title]]To link to a tiddler and specify the text of the link:
[[Displayed Link Title|Tiddler Title]]You can also create a link from the editor toolbar. Click link (), and search and select a tiddler.
For tiddler titles that match the CamelCase rules, just typing the title without double square brackets will automatically create a link.
You can suppress a link from being recognised by preceding it with ~. For example:
* ~HelloThere is not a link
* ~http://google.com/ is not a linkTiene este aspecto:
... y su código HTML es:
<ul><li>HelloThere is not a link</li><li>http://google.com/ is not a link</li></ul>
To link to an external resource such as a website or a file, type its full URL, including the URI scheme such as a protocol (e.g. http://, file://) or mailto:
https://tiddlywiki.com/
[[TW5|https://tiddlywiki.com/]]
[[Mail me|mailto:me@where.net]]
[[Open file|file:///c:/users/me/index.html]]For this syntax to work, the URL has to be recognisable as a URL. Otherwise, it is treated as a tiddler title. As a result, in case you want to link to a resource locatable using a relative path, use the extended syntax:
[ext[Open file|index.html]]
[ext[Open file|./index.html]]
[ext[Open file|../README.md]]
[ext[Open file|c:\users\me\index.html]]The extended syntax still works with full URLs, although in that case it is not necessary:
[ext[https://tiddlywiki.com]]
[ext[TW5|https://tiddlywiki.com]]
[ext[Mail me|mailto:me@where.net]]
[ext[Open file|file:///c:/users/me/index.html]]You can also use the extended syntax to force an external link:
[ext[Donate|bitcoin:1aabbdd....?amount=0.001]]See the LinkWidget for details of the underlying widget used to implement tiddler links, including macros that can be used to customise its behaviour.
| purpose | find the titles linked to by each input title |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | the titles to which the input tiddlers contain hard links |
Each input title is processed in turn. The corresponding tiddler's list of links is generated, in the order in which they appear in the tiddler's text, and dominantly appended to the operator's overall output.
[[HelloThere]links[]]
Here are some hard links:
The link widget generates links to tiddlers. (Use the HTML <a> element to generate external links).
| Attribute | Description |
|---|---|
| to | The title of the target tiddler for the link (defaults to the current tiddler) |
| aria-label | Optional accessibility label |
| tooltip | Optional tooltip WikiText |
| tabindex | Optional numeric tabindex |
| draggable | "yes" to enable the link to be draggable (defaults to "yes") |
| tag | Optional tag to override the default "a" element |
| class | Optional CSS classes in addition to the default classes (see below) |
| overrideClass | New in: 5.1.16 Optional CSS classes instead of the default classes |
The content of the link widget is rendered within the <a> tag. The draggable functionality is equivalent to using the DraggableWidget with the tiddler attribute set to the link target.
The default value of the tooltip attribute is supplied by the tv-wikilink-tooltip variable.
This means that you can control the text of a link tooltip in several ways:
<$link to="HelloThere" tooltip="Custom tooltip">Link 1</$link>
<$set name="tv-wikilink-tooltip" value="I'm a link to {{!!title}}">
<$link to="HelloThere">Link 2</$link>
</$set>
Renders as:
Note that the tooltip is rendered with the current tiddler set to the target of the link.
A useful convention is to set the tooltip like this:
\define tv-wikilink-tooltip()
<$transclude field="tooltip"><$transclude field="title"/></$transclude>
\endThis causes the tooltip to be the tooltip field of the target tiddler. If the field isn't present, then the title is used instead.
The link widget automatically determines and applies the following classes to links:
tc-tiddlylink - applied to all linkstc-tiddlylink-external - applied to external, non-tiddler linkstc-tiddlylink-internal - applied to tiddler linkstc-tiddlylink-missing - applied to tiddler links where the target tiddler doesn't existtc-tiddlylink-resolves - applied to tiddler links when the target tiddler does existUse the class attribute to specify additional css classes, or overrideClass to apply only that but not the above defaults, e.g. when used in a LinkCatcherWidget:
*<$link class="example">Here</$link> the `example` class is added.
*<$link overrideClass="example">Here</$link> only the `example` class applies.
*<$link overrideClass="">Here</$link> no class is set.Este es su aspecto:
href generationThe following process is used to generate the href attribute of the generated HTML <a> element:
tv-get-export-link is defined it is invoked to convert the target tiddler title to the href valuetv-filter-export-link is defined it is interpreted as a filter that converts the target tiddler title to the href valuetv-wikilink-template is defined it is treated as a specialised macro body that can perform limited conversion of the target tiddler title to the href valuehref| purpose | select titles via a list field |
|---|---|
| input | ignored |
! input | a selection of titles |
| parameter | R = a reference to a field or property of a particular tiddler |
| output | the titles stored as a title list at R |
! output | those input titles that are not mentioned at R |
R can reference either a field or a property. See TextReference for the syntax.
list field is used by default. So [list[T]] outputs the titles listed in the list of tiddler T.R consists of only a field or a property, the tiddler part of the reference defaults to the current tiddler. So [list[!!tags]] outputs the titles listed in the tags field of the current tiddler.These examples make use of the Days of the Week tiddler.
[list[HelloThere]]
[list[Days of the Week!!short]]
The list-links macro returns a formatted list of links to a selection of tiddlers.
If a tiddler has a caption field, this is shown instead of the tiddler's title.
ulliThis example lists all the tiddlers whose titles start with J:
<<list-links filter:"[prefix[J]]">>
This example lists the documentation tiddlers for the core macros, each of which has a caption field:
<<list-links filter:"[tag[Core Macros]]">>
The list-links-draggable macro renders the ListField of a tiddler as a list of links that can be reordered via drag and drop.
list)ul)li)If the itemTemplate parameter is not provided then the list items are rendered as simple links. Within the itemTemplate, the currentTiddler Variable refers to the current list item.
The list-tagged-draggable macro renders the tiddlers with a particular tag as a list of links that can be reordered via drag and drop.
!tag[done])Note that the ordering is accomplished by assigning a new list to the list field of the tag tiddler. Any list-before or list-after fields on any of the other tiddlers carrying the tag are also removed to ensure the list field is respected.
If the itemTemplate parameter is not provided then the list items are rendered as simple links. Within the itemTemplate, the currentTiddler Variable refers to the current list item.
| purpose | find the titles that list the input titles |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to list |
| output | the titles in which field F mentions any of the input titles |
F is assumed to be a title list.
Each input title is processed in turn. A list of tiddlers whose F field mentions it is generated (in no particular order) and dominantly appended to the operator's overall output.
New in: 5.1.18 See WebServer for details of TiddlyWiki's web server functionality.
Serves a wiki over HTTP.
The listen command uses NamedCommandParameters:
--listen [<name>=<value>]...All parameters are optional with safe defaults, and can be specified in any order. The recognised parameters are:
For information on opening up your instance to the entire local network, and possible security concerns, see the WebServer tiddler at TiddlyWiki.com.
El campo list es una característica opcional que se usa para estructurar contenido. Su valor es una lista y puede usarse de varias maneras:
list de un tiddler que se usa como etiqueta determina el orden en que se presentan los tiddlers que llevan esa etiqueta. Más detalles en Etiquetaslist selecciona entradas de una listalisted muestra qué tiddlers incluyen un tiddler (o selección de varios tiddlers) como entradas de lista.list de los tiddlers que se muestran en la columna principal.You can create bulleted (unordered) lists with * characters ():
* First list item
* Second list item
** A subitem
* Third list item
Tiene este aspecto:
... y su código HTML es:
<ul><li>First list item</li><li>Second list item<ul><li>A subitem</li></ul></li><li>Third list item</li></ul>
Numbered (ordered) lists use # instead of * ():
You can also mix ordered and unordered list items:
* To do today
*# Eat
* To get someone else to do
*# This
*# That
*## And the other
Tiene este aspecto:
... y su código HTML es:
<ul><li>To do today<ol><li>Eat</li></ol></li><li>To get someone else to do<ol><li>This</li><li>That<ol><li>And the other</li></ol></li></ol></li></ul>
Here's an example the other way around, with numbers as the first level:
# To do today
#* Eat
# To get someone else to do
#* This
#* That
#** And the other
Tiene este aspecto:
... y su código HTML es:
<ol><li>To do today<ul><li>Eat</li></ul></li><li>To get someone else to do<ul><li>This</li><li>That<ul><li>And the other</li></ul></li></ul></li></ol>
You can also assign a CSS class to an individual member of a list with this notation:
* List One
*.MyClass List Two
* List Three
Tiene este aspecto:
... y su código HTML es:
<ul><li>List One</li><li class="MyClass">List Two</li><li>List Three</li></ul>
Note that Block Quotes in WikiText can be mixed with lists. For example:
* List One
** List Two
**> A quote
**> Another quote
* List Three
Tiene este aspecto:
A quote
Another quote
... y su código HTML es:
<ul><li>List One<ul><li>List Two<blockquote><p>A quote</p><p>Another quote</p></blockquote></li></ul></li><li>List Three</li></ul>
Entries in the list are delimited with a linebreak, making it impossible to include linebreaks within a list entry. There are a couple of workarounds.
First, you can transclude paragraph content from another tiddler. For example:
* First entry
* <$transclude tiddler="MyTiddler" mode="block"/>
* Third entrySecondly, you can use an HTML "div" element to contain the multiline content. For example:
# Step 1
# Step 2
# Step 3<div>
Here is the first of several paragraphs. Note that the double linebreak preceding this paragraph is significant.
And here is the second of several paragraphs.
</div>
# Step 4
# Step 5
# Step 6El ListWidget muestra una secuencia de tiddlers que coinciden con una expresión de filtro. Sirve para:
tarea, no etiquetados como hecha"Los tiddlers se muestran por transclusión, uno a uno, en una plantilla. Hay diversas maneras de especificar la plantilla, así como de controlar el comportamiento de la lista.
lista plana: lista sin formato
<$list filter="[tag[Contents]sort[title]]"/>Se muestra como:
custom item output
<$list filter="[tag[Contents]sort[title]]">
<<currentTiddler>>
{{||$:/core/ui/ViewTemplate/subtitle}}
</$list>Se muestra como
First
Fourth Second Third
custom template output
<$list filter="[tag[Contents]sort[title]]" template="$:/core/ui/ViewTemplate/subtitle"/>Se muestra como:
En listas anidadas se explica cómo generar listas anidadas con ListWidget.
El contenido del widget <$list> es una plantilla opcional usada para representar cada tiddler de la lista. Alternativamente, puede especificarse la plantilla como título de un tiddler en el atributo template. Como alternativa, la plantilla por defecto sólo muestra el título del tiddler.
| Atributo | Descripción |
|---|---|
| filter | Tiddler de filtro para mostrar |
| template | Título de la plantilla de transclusión para cada tiddler de la lista. Si no es especifica ninguna, es el propio cuerpo de ListWidget el que sirve como plantilla. The title of a template tiddler for transcluding each tiddler in the list. Sin cuerpo, sólo se muestra un enlace al tiddler. |
| editTemplate | Plantilla alternativa para el uso de borradores en modo edición |
| variable | Nombre de la variable que guarda el título de cada tiddler. Por defecto, currentTiddler |
| emptyMessage | Mensaje que se muestra si la lista está vacía |
| storyview | nombre optativo del módulo responsable de animar/procesar la lista |
| history | Título del tiddler que contiene el historial de navegación |
El widget <$list>puede procesar tiddlers en borrador con una plantilla diferente. Consultar borradores
storyviewEl atributo storyview especifica el nombre de de un módulo optativo que puede animar los cambios realizados en la lista (incluso la navegación). El núcleo incluye por defecto los siguientes módulos:
Para que la animación de storyview sea correcta, cada entrada de la lista debe ser un único bloque DOM.
El atributo opcional history especifica el nombre del tiddler usado para rastrear el actual, con el fin de presentar el histórico de navegación. Cuando el histórico cambia, le pide a la ListView que procese la navegación al siguiente tiddler. Véase Histórico para mayor información.
Carga tiddlers de archivos de tipo TiddlyWiki 2.x.x.(.html), .tiddler, .tid, .json u otros
--load <filepath>Para cargar tiddlers de un TiddlyWiki encriptado, primero debes especificar la contraseña con el comando PasswordCommand. Por ejemplo:
tiddlywiki ./MyWiki --password pa55w0rd --load my_encrypted_wiki.htmlTen en cuenta que TiddlyWiki no carga complementos o extensiones anteriores a los ya cargados.
| purpose | applies a prefix to each input title to yield the title of a tiddler from which the final value is retrieved |
|---|---|
| input | a selection of titles |
| suffix | D = the default value to be used for missing lookups |
| parameter | P = prefix applied to input titles to yield title of lookup tiddler from which value is retrieved |
| output | the lookup values corresponding to each input title |
New in: 5.1.15
The action of this operator is as follows:
[all[shadows+tiddlers]tag[$:/tags/PageControls]lookup[$:/config/PageControlButtons/Visibility/]]
[all[shadows+tiddlers]tag[$:/tags/PageControls]lookup:show[$:/config/PageControlButtons/Visibility/]]
space denotes a sequence of whitespace characters.
The macro's name is a sequence of non-whitespace characters other than ( or >.
Each individual param-value has the following syntax:
The param-name is a sequence of letters (A–Z, a–z), digits (0–9), hyphens (-) and underscores (_).
The value is specified as follows:
To call a macro, place <<double angle brackets>> around the name and any parameter values.
By default, parameters are listed in the same order as in the macro's definition. A parameter can be labelled with its name, either for clarity or to modify the order.
If no value is specified for a parameter, the default value given for that parameter in the macro's definition is used instead. (If no default value was defined, the parameter is simply blank.)
Each parameter value can be enclosed in 'single quotes', "double quotes", """triple double quotes""" or [[double square brackets]]. Triple double quotes allow a value to contain almost anything. If a value contains no spaces or single or double quotes, it requires no delimiters.
A more formal presentation of this syntax is also available.
The syntax is actually a shorthand for a $macrocall widget. The widget itself offers greater flexibility, including the ability to transclude parameter values or generate them via additional macros.
As macros are simply parameterised variables, a variable's value can be inserted using the same techniques.
In the wikitext notation, using named parameters is always the safer choice compared to defining values only. Not naming parameters may have confusing side effects. For example, imagine the first parameter of some macro specifies a state tiddler while the second one is intended for a template tiddler. Should you accidentally forget to define the first parameter or are confused about the order, the next time your macro is run, which might even be triggered using the preview, your template tiddler may inadvertently be overriden with what was intended to be the state.
\define sayhi(name:"Bugs Bunny" address:"Rabbit Hole Hill")
Hi, I'm $name$ and I live in $address$.
\end
<<sayhi>>
<<sayhi Bugs>>
<<sayhi "Donald Duck" Disneyland>>
<<sayhi "Mickey Mouse" "Mouse House">>
<<sayhi name:'Minnie Mouse' address:[[Mouse House]]>>
<<sayhi address:"Quacky Towers" name:"Donald Duck">>
<<sayhi "Mickey Mouse" """"Mouse House",
Rodent's Lane,
Squeaksville,
Ratland""">>
\define pragma, using railroad diagrams. A simpler overview is also available.space denotes a sequence of whitespace characters.
The macro's name is a sequence of non-whitespace characters other than ( or >.
The parameter declaration list (params) has the following syntax:
The parameter separator (sep) is any sequence of characters that does not match a param-name. Among other things, this includes commas, spaces and linefeeds.
A param-name is a sequence of letters (A–Z, a–z), digits (0–9), hyphens (-) and underscores (_).
Each individual param has the following syntax:
The optional default value of a parameter is specified as follows:
The rest of the definition has the following syntax:
lf denotes a linefeed.
The snippet is any sequence of characters that doesn't terminate the macro definition. That is to say, a single-line snippet cannot contain a linefeed, and a multi-line snippet cannot contain \end on a line of its own.
The snippet can contain placeholders with the following syntax:
A macro is defined using a \define pragma. Like any pragma, this can only appear at the start of a tiddler.
The first line of the definition specifies the macro name and any parameters. Each parameter has a name and, optionally, a default value that is used if no value is supplied on a particular call to the macro. The lines that follow contain the text of the macro text (i.e. the snippet represented by the macro name), until \end appears on a line by itself:
\define sayhi(name:"Bugs Bunny" address:"Rabbit Hole Hill")
Hi, I'm $name$ and I live in $address$.
\end
Alternatively, the entire definition can be presented on a single line without an \end marker:
\define sayhi(name:"Bugs Bunny") Hi, I'm $name$.A more formal presentation of this syntax is also available.
Inside the macro there are several methods for accessing variables defined outside of the macro or parameters from the macro parameter list.
| syntax | description |
$...$ | Text substitution of a parameter defined in the macro parameters list |
<<__...__>> | Parameter-as-variable access to a parameter defined in the macro parameters list |
$(...)$ | Text substitution of a variable defined outside of the macro |
<<...>> | Access to a variable (or other macro) defined outside of the macro |
$(...)$The macro can contain placeholders for parameters. These consist of a parameter name between dollar signs, like $this$.
The macro can also contain placeholders for variables. These consist of a variable name (or macro name) between dollar signs and round brackets, like $(this)$.
The actual value of the parameter or variable is substituted for the placeholder whenever the macro is called:
\define say-hi-using-variables()
Hi, I'm $(name)$ and I live in $(address)$.
\end
\define name() Bugs
<$set name="address" value="Rabbit Hole Hill">
<<say-hi-using-variables>>
</$set>
<<__...__>>Parameters in a wikitext macro can be accessed as variables by using the syntax <<__...__>>, i.e the parameter name surrounded by double underscores. For example, the example above could also be expressed as:
\define sayhi(name:"Bugs Bunny") Hi, I'm <$text text=<<__name__>>/>.Accessing parameters as variables only works in macros that are wikified and not, for example, when a macro is used as an attribute value. The advantage of the technique is that it avoids the parameter value being substituted into the macro as a literal string, which in turn can help avoid issues with parameters that contain quotes.
For example, consider this macro. It invokes another macro using the single parameter as an argument for it:
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line="""$line$"""/>The code above will fail if the macro is invoked with the argument containing triple double quotes (for example <<film-quote 'I quote thrice """ - see!?'>>). Using parameter variables offers a workaround:
\define film-quote(line) <$macrocall $name="anothermacro" actor="Bugs Bunny" line=<<__line__>>/>Macros are available to the tiddler that defines them, plus any tiddlers that it transcludes.
To make a macro available to all tiddlers, define it in a tiddler that has the tag $:/tags/Macro.
It is also possible to write a macro as a JavaScript module. JavaScript macros are available to all tiddlers, and offer the maximum flexibility.
A tiddler can manually import macro definitions from a selection of other tiddlers by using the $importvariables widget.
The macro call widget provides an alternative syntax for invoking macros. The advantage of the widget form is that it allows macro parameters to be specified as widget attributes, thus allowing indirection and macro values to be set.
For example, a macro called italicise that takes a single parameter called text can be invoked in any of these ways:
<<italicise "Text to be made into italics">>
<<italicise text:"Text to be made into italics">>
<$macrocall $name="italicise" text="Text to be made into italics"/>
<$macrocall $name="italicise" text={{Title of tiddler containing text to be italicised}}/>
<$macrocall $name="italicise" text=<<textMaker "Another macro to generate the text to be italicised">>/>You can see several examples of the macro call widget within the core:
data: URIs: $:/themes/tiddlywiki/starlight/styles.tidThe content of the <$macrocall> widget is ignored.
| Attribute | Description |
|---|---|
| $name | Name of the macro to invoke |
| $type | ContentType with which the macro text should be parsed (defaults to text/vnd.tiddlywiki) |
| $output | ContentType for the output rendering (defaults to text/html, can also be text/plain) |
| parameters | Macro parameters specified as attributes |
A macro is a named snippet of text. WikiText can use the name as a shorthand way of transcluding the snippet. Such transclusions are known as macro calls, and each call can supply a different set of parameters that get substituted for special placeholders within the snippet.
For the syntax, see Macros in WikiText.
Most macros are in fact just parameterised variables.
They are created using the \define pragma. (Behind the scenes, this is transformed into a $set, i.e. macros and variables are two sides of the same coin.)
The snippet and its incoming parameter values are treated as simple strings of characters with no WikiText meaning, at least until the placeholders have been filled in and the macro call has returned. This means that a macro can assemble and return the complete syntax of a WikiText component, such as a link. (See Transclusion and Substitution for further discussion of this.)
The string returned by a macro call is parsed separately from any surrounding WikiText components. So a safe way to insert a special character sequence (such as [[ or <) without triggering its normal WikiText meaning is to wrap it in a macro.
Within a snippet itself, the only markup detected is $name$ (a placeholder for a macro parameter) and $(name)$ (a placeholder for a variable).
The dumpvariables macro lists all variables (including macros) that are available at that position in the widget tree.
An $importvariables widget can be used to copy macro definitions to another branch of the widget tree. TiddlyWiki uses this technique internally to implement global macros – namely any macros defined in tiddlers with the $:/tags/Macro tag.
For maximum flexibility, macros can also be written as JavaScript modules.
A similar effect to a parameterised macro call can be produced by setting variables around a transclusion.
TiddlyWiki's core has several macros built in.
The makedatauri macro takes a piece of text and an associated ContentType, and returns a corresponding data URI.
makedatauri is used to implement the datauri macro.
Construye el tiddler $:/UpgradeLibrary: librería de actualización
La librería de actualización tiene formato de plugin ordinario, de tipo library
Contiene copia de cada uno de los plugins, temas y paquetes de idioma disponibles en el repositorio de TiddlyWiki5
Este comando es, en principio, para uso interno del equipo de TiddlyWiki y sólo es de interés para aquellos usuarios que deseen compilar actualizaciones personalizadas
--makelibrary <title>El título por defecto del tiddler resultante es $:/UpgradeLibrary.
See the UpgradeMechanism for more details.
To get your own custom Journal button, start by cloning the New Journal button.
Then create your own config tiddlers, eg:
$:/config/myNewTiddler/Tags and ... $:/config/myNewTiddler/Title and ... $:/config/myNewTiddler/TextEdit your custom button and "search and replace" the config tiddler names.
Change the following lines, near the end of the tiddler from
<$set name="journalTitleTemplate" value={{$:/config/NewJournal/Title}}>
<$set name="journalTags" value={{$:/config/NewJournal/Tags}}>
<$set name="journalText" value={{$:/config/NewJournal/Text}}>to
<$set name="journalTitleTemplate" value={{$:/config/myNewTiddler/Title}}>
<$set name="journalTags" value={{$:/config/myNewTiddler/Tags}}>
<$set name="journalText" value={{$:/config/myNewTiddler/Text}}>if you want to see your config tiddlers in the sidebar use:
<$set name="journalTitleTemplate" value={{config/myNewTiddler/Title}}>
<$set name="journalTags" value={{config/myNewTiddler/Tags}}>
<$set name="journalText" value={{config/myNewTiddler/Text}}>Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.
Este es el código:
\define textOnPath(text)
$$$.svg
<svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
<defs>
<path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
</defs>
<use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
<text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
<textPath xlink:href="#MyPath">
$text$
</textPath>
</text>
</svg>
$$$
\end$:/plugins/tiddlywiki/katex en https://tiddlywiki.com/plugins/tiddlywiki/katex/)Para uso con el lenguaje de marcado Markdown, en lugar de WikiText.
Disponible https://tiddlywiki.com/plugins/tiddlywiki/markdown/
An experimental MathJax plugin for TiddlyWiki version 5. As Martin says, the implementation is a bit of a hack but may be useful until we have a better alternative.
http://mathjax-tw5.kantorsite.net
Welcome. I have created plugin for TiddlyWiki 5 which allows you to use MathJax (math in TeX and MathML) inside TiddlyWiki 5. It's unofficial plugin and it doesn't follow general policy of TiddlyWiki as stand-alone solution but it works. So you can use it if you want.
MathML es un lenguaje de marcas para notación matemática que puede usarse en HTML.
Si tu navegador lo soporta, los elementos de MathML pueden usarse en WikiText como HTML.
Este es un ejemplo de matriz MathML sacado de W3C:
<math><mrow><mo>[</mo><mtable><mtr><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd></mtr><mtr><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>1</mn></mtd></mtr><mtr><mtd><mn>1</mn></mtd><mtd><mn>0</mn></mtd><mtd><mn>0</mn></mtd></mtr></mtable><mo>]</mo></mrow></math>Y se ve así:
Reuniones presenciales que los entusiastas de TiddlyWiki celebran en todo el mundo:
Si tú también compartes nuestro entusiasmo por TiddlyWiki, anímate a organizar un TWIG local en tu ciudad. Es una manera magnífica de promover el uso y el interés por TiddlyWiki
Son mensajes generados por widgets en respuesta a acciones del usuario. Estos mensajes recorren la estructura en árbol del widget hasta que encuentran el ascendiente que los procesa.
El núcleo lleva implementados los siguientes mensajes:
| purpose | filter items shorter than the specified minimum length |
|---|---|
| input | a list of items |
| parameter | minlength = the minimum length for items |
| output | those items at least as long as the specified minimum length |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]minlength[7]]
[list[Days of the Week]minlength[1]]
[
{
"title": "HelloThere",
"fromPageRect": {
"top": 494.26666259765625,
"left": 1022.3333129882812,
"width": 79,
"right": 1101.3333129882812,
"bottom": 511.26666259765625,
"height": 17
}
}
]The Mobile Drag And Drop Shim Plugin provides a "shim" that enables HTML 5 compatible drag and drop operations on mobile browsers, including iOS and Android. The shim was created by Tim Ruffles and is published at https://github.com/timruffles/ios-html5-drag-drop-shim.
Los diálogos modales (o "asistentes" difuminan la ventana principal de TiddlyWiki para mostrar un tiddler aislado que el usuario tiene que atender explícitamente.
Los modales se muestran mediante el mensaje tm-modal.
Within the action string of the DroppableWidget, the modifier variable contains the modifier key(s) held during the drag-process. The possible keys are ctrl, shift or both ctrl and shift
The variable contains a string that identifies the keys:
| Modifier Key | Variable Content |
| ctrl | ctrl |
| shift | shift |
| ctrl+shift | ctrl-shift |
| no modifier (normal drag) | normal |
A module in TiddlyWiki5 is a tiddler containing executable JavaScript, of the type application/javascript and with the field module-type set to the ModuleType of the module.
See control panel > Info > Advanced > Loaded Modules for a list of currently loaded modules.
| purpose | select the names of all modules of the input module types |
|---|---|
| input | a selection of module types |
| parameter | none |
| output | the title of each module with any of the input types |
The module-type field of a JavaScript module is a string that identifies the type of the module. Here is a list of the module types used in this wiki:
$tw.config$tw$tw.Tiddler$tw.utils$tw.utils$tw.Wiki| purpose | select the names of all TiddlyWiki module types |
|---|---|
| input | ignored |
| parameter | none |
| output | the name of each known TiddlyWiki module type, in alphabetical order |
';. .;c'
:XNo ,kjack' .:dd
,K0X: '0l Tiddly:',..,Wiki.
jacK' .dk. '';jack .xk;
Jack; ..',','... '0c .0c
:0:c0l. .:dTidllyc::cjoWikioc:,,,,;;:cJACKc:;;d0. 'K:
l0:'jack,... ...',:lkxc. ..';:ccc:;;,'...',:loc .Kc
,xk:..,jackjackjack;'. :K,
.lxxl;.. . .Ox.
.':lTiddlyWikI. .xk.
`` ;0; . ;Od.
.dO' .0Ojackx,
cOo' .kk'.'..
.k0' .cOo.
lO; ... .jack.
.xk' .jackTiddlyWikijackO, .lkd;.
;Oo. .dO. .ok. ,Oo.
l0; .c, ,0: .kd l0.
.xk. .xNx lO. lO. ;0,
.Od. ,XW0, :0; dk. .kx.
.kx. jACKx' cOl. .Ol ;0:
.oO: .JACKx. .jack;'. .0: c0;
'dkc ,lXKd' .'jack. .Ol cOc.
.;ljack,.;xkc,...,oK, 'xxjack. .oko.
`` 'cljack' .okdlcJack.
'JacK,'
| purpose | move marker N places in the list |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to 1 |
| parameter | marker = the list item to be used as a marker |
| output | re-ordered list of items |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[move[Wednesday]]
[list[Days of the Week]] +[move:-2[Wednesday]]
MultiTiddlerFiles allow multiple tiddlers to be concisely represented in a single text file.
The goals of this format are:
MultiTiddlerFiles have the extension multids. The file is structured as a block of shared fields followed by a blank line. The rest of the file is a sequence of comments and tiddlers. Tiddlers are specified by their title, followed by a colon, at least one space character, and then the rest of the line is the text field for the tiddler.
For example:
title: $:/language/ControlPanel/
tags: strings
modifier: JoeBloggs
Basics/Caption: Basics
# This is a comment
Basics/Version: ~TiddlyWiki VersionThis example defines two tiddlers, $:/language/ControlPanel/Basics/Caption and $:/language/ControlPanel/Basics/Version.
If a title field is specified in the header then it is treated as a prefix for the individual tiddlers defined in the title.
[
{
"title": "HelloThere",
"fromPageRect": {
"top": 629,
"left": 304,
"width": 80,
"right": 384,
"bottom": 647,
"height": 18
}
},
{
"title": "HelloThere",
"fromPageRect": {
"top": 516.2666625976562,
"left": 1022.3333129882812,
"width": 79,
"right": 1101.3333129882812,
"bottom": 533.2666625976562,
"height": 17
}
}
]New in: 5.1.18 Most TiddlyWiki Commands use a position-based system for their parameters where each parameter must be listed in the precise order defined by the command. Some of the more complex commands offer an alternative scheme of named command parameters. For example, here we provide two parameters named "port" and "host":
--listen port=8090 host=0.0.0.0Note that the order of the parameters does not matter.
Using special characters within a parameter requires quoting. Unix, Linux and the Mac use single quotes, and Windows uses double quotes:
--listen port=8090 username=joe 'password=s3cret(!'
--listen port=8090 username=joe "password=s3cret(!"Note that the quotes are applied to the entire name=value pair, not just to the value part.
The system tiddlers provided as part of the core are named according to the following rules:
| Namespace | Format | Description |
|---|---|---|
$:/* | CamelCase | Root user interface tiddlers (eg control panel, advanced search) |
$:/config/* | CamelCase | User-oriented configuration setting |
$:/core/images/* | hyphen-case | Core images |
$:/core/modules/* | lowercase | JavaScript module tiddlers |
$:/core/save/* | lowercase | Saving templates for creating TiddlyWiki documents |
$:/core/templates/* | inconsistent | Templates needed for TiddlyWiki to operate. Currently uses a mix of dashes and periods to separate words |
$:/core/ui/* | inconsistent | Tiddlers comprising the default user interface of TiddlyWiki. Currently uses a mix of CamelCase and lowercase naming conventions |
$:/core/wiki/* | lowercase | Metadata about the entire wiki |
$:/docs/* | lowercase | Documentation tiddlers |
$:/messages/* | CamelCase | System messages |
$:/plugins/* | lowercase | Plugin tiddlers, and plugin content |
$:/snippets/* | inconsistent | Reusable snippets (will be replaced by macros) |
$:/state/* | lowercase | User interface state tiddlers |
$:/tags/* | CamelCase | User interface configuration tags |
$:/temp/* | lowercase | Temporary tiddlers that shouldn't be saved |
$:/themes/* | lowercase | Theme plugins |
In the format column:
En la vista por defecto "classic", los tiddlers abiertos se muestran en una columna vertical llamada StoryRiver. Hay varias maneras de moverse por ella, saltando adelante y atrás entre los diferentes tiddlers abiertos.
El widget Navegador manipula el TiddlerStore, StoryList y HistoryList en respuesta a una serie de mensajes.
El widget muestra en pantalla su contenido y responde a los mensajes que se le envían
The navigator widget displays any contained content, and responds to Messages dispatched within it.
| Atributo | Descripción |
|---|---|
| story | Nombre del tiddler que contiene el StoryList que se va a manipular |
| history | Nombre del tiddler que contiene el HistoryList que se va a manipular |
| openLinkFromInsideRiver | Determina dónde se van a abrir los tiddlers nuevos que se invoquen desde dentro del StoryRiver: al principio o al final del StoryRiver o encima o debajo del tiddler actual |
| openLinkFromOutsideRiver | Determina dónde se van a abrir los tiddlers nuevos que se llamen desde fuera del StoryRiver: al principio o al final del StoryRiver |
El navegador maneja los siguientes mensajes:
| purpose | find which titles in a list field follow the input ones |
|---|---|
| input | a selection of titles |
| parameter | T = a tiddler title |
| output | a selection containing each title that immediately follows each of the input titles in the list field of T |
Each input title is processed in turn, and its successor is located in the list field and appended to the output. If a title is not listed in the field, or is the last title there, then it contributes nothing to the output.
These examples make use of the Days of the Week tiddler.
[[Monday]next[Days of the Week]]
[[Sunday]next[Days of the Week]]
Tuesday Wednesday Thursday +[next[Days of the Week]]
Node.js is a downloadable application for your PC, Mac or Linux computer that lets it run JavaScript applications. Unlike JavaScript applications running in a web browser, Node.js code has full access to the file system and other resources of the computer, enabling it to perform the roles that have traditionally been the preserve of languages like Java, PHP and Python. See http://nodejs.org for more details.
For TiddlyWiki, Node.js means that we can have a single code base that can run in the browser or on the server, giving great flexibility in how it is used.
For end users, Node.js is no more complicated to install than a web browser, but unlocks powerful capabilities such as the ability to run TiddlyWiki as a web server that you can connect to from other devices.
See TiddlyWiki on Node.js for more details.
Version 5.0.11-beta includes some changes that can break content from earlier releases of TiddlyWiki 5.
Previously, commands that generate output files would interpret the specified path to the file as being relative to the current working directory. So, for example, the following command would write index.html to the current directory:
tiddlywiki mywiki --rendertiddler $:/core/save/all index.html text/plainIn 5.0.11-beta this behaviour has changed, and now the specified filename is resolved relative to an output folder within the TiddlyWikiFolder. So the command above will now write the file index.html to mywiki/output/index.html.
You can override this behaviour with the OutputCommand. For example, to generate the index.html file within the current directory:
tiddlywiki mywiki --output . --rendertiddler $:/core/save/all index.html text/plainA further change is that the --rendertiddlers command now clears the output folder before it writes any files. This means that any previous --rendertiddler commands to the same folder will have their output deleted.
Version 5.0.8-beta includes some changes that can break content from earlier releases of TiddlyWiki 5.
You should rename any existing SiteTitle and SiteSubtitle tiddlers to $:/SiteTitle and $:/SiteSubtitle respectively.
Version 5.0.8-beta marks a change in the way that TiddlyWiki determines whether to parse the content of an HTML element or widget in block mode or inline mode.
<p> tags to wrap them. It also recognises block syntax like headings, lists and tables.It's important to be able to control which type of parsing is performed for different situations.
Prior to 5.0.8-beta, TiddlyWiki parsed the content of an element in inline mode unless the opening tag of the element were immediately followed by a line break. This meant that much of the time element tags would be shunted together into a long line, hindering readability.
The new behaviour for 5.0.8-beta is to parse the content of an element in inline mode unless the opening tag is immediately followed by two line breaks.
To adjust existing content for 5.0.8-beta you will need to manually add the additional line break after the opening tag of elements and widgets whose content should be parsed in block mode.
The positive aspect of the change is that it removes the need to pack multiple HTML tags onto a single line, improving readability.
Consider the difference between these two examples. First, here's an HTML tag that starts with two line breaks:
<blockquote>
! This is a heading
And a paragraph of text.
</blockquote>
Tiene este aspecto:
This is a heading
And a paragraph of text.
... y su código HTML es:
<blockquote><h1 class="">This is a heading</h1><p>And a paragraph of text.</p></blockquote>
Secondly, here's an HTML tag with just a single line break. Notice how the heading is no longer recognised as a heading
<blockquote>
! This is a heading
And a paragraph of text.
</blockquote>
Tiene este aspecto:
! This is a heading And a paragraph of text.
... y su código HTML es:
<p><blockquote> ! This is a heading And a paragraph of text. </blockquote> </p>
The handling of wiki folders has changed. Previously, if the tiddlywiki command was run against a wiki folder that didn't have the necessary tiddlywiki.info file then it would be automatically created. Now, the wiki folder must be initialised with the InitCommand.
This is how to create and start a new server-based wiki:
tiddlywiki mywikifolder --init server
tiddlywiki mywikifolder --serverNote that the name of the clientserver edition has changed to server.
Las notificaciones son pequeños mensajes de información que aparecen en la esquina superior derecha de la ventana y que desaparecen automáticamente.
The now macro returns the current date and time in a specified format.
The value doesn't update automatically, like a ticking clock. It updates whenever the macro call is rendered, such as when the containing tiddler's display needs to be refreshed for some other reason.
0hh:0mm, DDth MMM YYYYNote: The format string [UTC]YYYY0MM0DD0hh0mm0ssXXX will return a date string representing the UTC time-stamp as it is used in the TiddlyWiki created and modified time-stamp fields.
| purpose | sort the input by number field |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to title |
| output | the input, sorted into ascending order by field F, treating field values as numbers |
! output | the input, likewise sorted into descending order |
| purpose | sort the input titles by number field, treating upper and lower case as different |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to title |
| output | the input, sorted into ascending order by field F, treating field values as numbers |
! output | the input, likewise sorted into descending order |
10 010 1000 100 +[nsortcs[]]
10 010 ALPHA beta alpha 1000 100 +[nsortcs[]]
| purpose | select the Nth input title |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 1 |
| output | the Nth input title |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]nth[]]
[list[Days of the Week]nth[5]]
NW.js is an OpenSource application that fuses the functionality of a web browser with that of Node.js. It makes it possible to use web applications as though they were native apps, with full access to the file system and other native facilities. Learn more from the official site or this introductory blog post.
See TiddlyWiki on NW.js for details of how to use TiddlyWiki with NW.js.
Introducción de Dave Gifford al libro bíblico de Abdías, que usa la macro Índice y varios ajustes personalizados de TiddlyWiki: botones "nuevo aquí", esta plantilla personalizada de visualización para añadir notas e imágenes dentro de cualquier tiddler y un tiddler de transclusión para facilitar la impresión (este tiddler)
The official TiddlyWiki plugin library contains the plugins that are part of the main TiddlyWiki 5 GitHub repository. Install them from the plugin library. Plugins from the official plugin library are automatically updated as part of the upgrade process.
OpenSource is defined by Wikipedia as a philosophy, or pragmatic methodology that promotes free redistribution and access to an end product's design and implementation details.
Cuando TiddlyWiki genera una lista de los tiddlers que comparten una etiqueta en particular (p. ej, en la lista que aparece al pinchar en una etiqueta), los ordena conforme a las siguientes reglas:
list del TagTiddler y en el orden que este indicalist-before, que van inmediatamente antes del título que respectivamente indiquen. list-before en blanco, se colocarán por orden alfabético ascendente al principio de la lista, ignorando mayúsculas y minúsculas.list-after, que van inmediatamente después del título que respectivamente indiquen. | purpose | selectively reverse the input list |
|---|---|
| input | a selection of titles |
| parameter | F = Either the string reverse or another value |
| output | the input, with the order reversed if F is the special value reverse |
Either reverses or preserves the order of the input list according to whether the parameter is the special value reverse.
Founded in 2004 by JeremyRuston, Osmosoft was originally a consultancy for software services around TiddlyWiki. Notable engagements included working with Socialtext on Socialtext Unplugged.
In 2007, Osmosoft was acquired by BT and became the champions for open source within the enterprise. As part of BT, Osmosoft has worked on a diverse range of projects within BT and for BT's customers.
Establece el directorio de salida para los comandos que le siguen
El directorio por defecto es el subdirectorio output, en el directorio del wiki
--output <pathname>Si la ruta especificada es relativa, se interpreta como relativa al directorio actual de trabajo
Por ejemplo: --output . establece como directorio de salida el actual directorio de trabajo
El OXTWIG: Oxford TiddlyWiki Interest Group se reúne mensualmente para conversar y hacer demostraciones de TiddlyWiki.
Ver https://oxtwig.eventbrite.co.uk/ para más información sobre nuestra próxima reunión.
También tenemos lista de correo: https://groups.google.com/forum/#!members/oxtwig
La segunda reunión del OXTWIG se celebró el jueves 16 de enero de 2014:
La primera reunión del OXTWIG se celebró el jueves 21 de noviembre de 2013:
Algo que muchos usuarios desconocen es hasta qué punto pueden customizar TIddlyWiki simplemente añadiendo o quitando etiquetas de sistema de tiddlers ocultos clave o de sus propios tiddlers.
Una vez sepas qué es lo que quieres hacer, te parecerá que todas estas cosas son bastante fáciles.
Puedes crear el tiddler que quieras y asignarle la etiqueta de sistema apropiada para que aparezca en tal o cual sitio. Por ejemplo, si creas un tiddler llamado "Recordatorio" con el texto "Esto es un recordatorio" y la etiqueta $:/tags/EditTemplate, las palabras "Esto es un recordatorio" aparecerán en todos los tiddlers que abras para edición.
Al crear tiddlers para que se muestren dentro de otros tiddlers o para que formen parte del diseño de página, necesitarás con toda probabilidad reorganizar el diseño para que tus tiddlers se muestren exactamente donde quieres que aparezcan. Para hacerlo, edita el tiddler oculto apropiado con el prefijo $:/tags e incluye el título de tu tiddler en el lugar adecuado del campo list. Por ejemplo, si quieres que la frase "Esto es un recordatorio" del ejemplo anterior aparezca por encima del editor de etiquetas en modo de edición, edita el tiddler $:/tags/EditTemplate e inserta [[Recordatorio]] en el campo list, justo antes de $:/core/ui/EditTemplate/tags
Digamos que tienes un tiddler llamado Plantilla Recetas y quieres un botón que cree nuevas recetas a partir de él. Para hacerlo tendrás que hacer lo siguiente:
$:/core/images), necesitarás crear o buscar una imagen SVG para ello (por ejemplo una de http://flaticon.com).\define newHereButtonTags()
[[$(currentTiddler)$]]
\end
\define newHereButton()
<$button class=<<tv-config-toolbar-class>>>
<$action-sendmessage
$message="tm-new-tiddler"
$param="TÍTULO DE LA PLANTILLA QUE QUIERES QUE ABRA"
title="New tiddler"
tags=<<newHereButtonTags>> />
<$list filter="[<tv-config-toolbar-icons>prefix[yes]]">
{{NOMBRE DE LA IMAGEN DEL BOTÓN}}
</$list>
<$list filter="[<tv-config-toolbar-text>prefix[yes]]">
<span class="tc-btn-text"><$text text="NOMBRE DEL BOTÓN PARA MOSTRAR EN PANTALLA"/></span>
</$list>
</$button>
\end
<<newHereButton>>
$:/tags/ViewToolbar]]$:/config/ViewToolbarButtons/Visibility/Receta. Escribe reveal en el cuerpo y guárdalo.$:/tags/ViewToolbar e inserta el nombre de tu botón en el lugar adecuado del campo list.En la subpestaña Ocultos de la pestaña Más en la barra lateral, verás la lista de todos los tiddlers ocultos. En ella verás algunos con el prefijo $:/core/ui/. Estos son los que definen la interfaz de usuario y llevan etiquetas de sistema. Añadir o eliminar estas etiquetas modifica el diseño, tanto de los tiddlers, como de la página entera.
Por ejemplo: $:/core/ui/SideBar/More es el tiddler que define la pestaña Más. Si le quitas la etiqueta, quitarás dicha pestaña de la barra lateral y si se la vuelves a asignar, volverás a mostrarla.
Puedes aplicar el mismo procedimiento para cualquier tiddler de la interfaz que lleve el prefijo $:/core/ui/. Por ejemplo, quitar la etiqueta de sistema al tiddler $:/core/ui/ViewTemplate/subtitle eliminará el subtítulo de todos los tiddlers.
Si modificas un tiddler oculto de esta manera, sobreescribirás el valor predefinido. Para revertirlo a su origen, simplemente borra el tiddler modificado para restaurar el tiddler oculto.
To mark the end of a paragraph in TiddlyWiki you need to type enter twice to create a double line break:
This is the first paragraph.
And this is the second paragraph.Single line breaks are ignored within paragraphs. For example:
This is a
paragraph made
up of
short linesTiene este aspecto:
This is a paragraph made up of short lines
... y su código HTML es:
<p>This is a paragraph made up of short lines</p>
For situations where this behaviour isn't convenient, you can also use Hard Linebreaks in WikiText.
The password widget displays a password input box that is bound to a named entry in the TiddlyWiki5 PasswordVault. Passwords are currently stored in the browsers local storage and are not themselves encrypted.
The content of the <$password> widget is ignored.
| Attribute | Description |
|---|---|
| name | Name of the password vault entry |
Percent encoding is a notation that allows otherwise invalid characters to be included in a URI.
Such characters are represented as a percent sign % followed by two additional characters.
For example, a space is represented as %20 and an actual percent sign is represented as %25.
TiddlyWiki ships with defaults that are designed to get the best out of modern devices from smartphones to desktop computers. If you need to work on older, less powerful devices, or work with large amounts of content, there are a few steps you can take to improve performance.
Un permalink permite enlaces directos a tiddlers individuales de un TiddlyWiki
La forma más simple de un permalink es un enlace sencillo adjunto a la dirección de base con #:
https://tiddlywiki.com/#HelloThere
El título del tiddler puede contener espacios si es necesario:
https://tiddlywiki.com/#Using TiddlyWiki on Node.js
No es necesario encerrar el título en corchetes dobles, aunque si lo haces, no pasa nada, porque se elmininan.
El permalink también puede definir la secuencia de tiddlers que se abre junto al tiddler principal, como hace un filtro:
https://tiddlywiki.com/#TiddlerFields:Tiddlers TiddlerTags TiddlerFields ContentType
Si el tiddler principal no está presente entre los tiddlers de la StoryRiver, se inserta automáticamente al principio, lo que significa que estos dos ejemplos apuntan al tiddler Tiddlers en la secuencia Tiddlers, Tags, TiddlerFields:
https://tiddlywiki.com/#Tiddlers:Tags TiddlerFields
https://tiddlywiki.com/#Tiddlers:Tiddlers Tags TiddlerFields
También es posible definir un filtro sin especificar un tiddler en concreto:
https://tiddlywiki.com/#:[tags[task]]
Existen restricciones técnicas a los caracteres que pueden usarse en una URL. Para permitir apuntar a cualquier tiddler, los caracteres no permitidos están sujetos a un proceso llamado codificación, mediante el cual los caracteres problemáticos se sustituyen por un código numérico, también llamado código por ciento. Así, por ejemplo, el caracter que representa un espacio se sustituye por el código %20.
Tanto el título del tiddler como el filtro de la historia deben codificarse para URL (no así los dos puntos). ~Tiddlywiki genera URL's debidamente codificadas que pueden tener un aspecto bastante aterrador. Sin embargo, en la práctica, los navegadores procesan todos los caracteres en fragmentos de URL, así que cuando creas permalinks de forma manual puedes ignorar la codificación URL.
Dos importantes aspectos del comportamiento de los permalinks en TiddlyWiki pueden controlarse con las opciones de la pestaña Avanzado/Configuración:
Adelante y Atrás del navegador (desactivado por defecto)Escribir o navegar a un permalink siempre hará que el navegador lo procese, lo que abre y cierra tiddlers del modo que el permalink requiere, en lugar de, por ejemplo, añadir el permalink a la vista actual de tiddlers.
Al iniciarse y cada vez que un permalink varía dinámicamente –editando la barra de direcciones, por ejemplo–, TIddlyWiki procesa los permalinks conforme a las siguientes reglas.
Sistema para crear planes docentes, construido con TiddlyWiki
Construí un programa que sirviera de ayuda para la redacción y planifiación de leciones y que automatizara algunas de las tediosas tareas envueltas en la creación de un plan dociente. <<<
El propósito de guardar y organizar información es poder usarla de nuevo. El valor de la información almacenada es directamente proporcional a la facilidad con la que se puede volver a usar.
La filosofía de los tiddlers consiste en maximizar las posibilidades de reutilización de la información descomponiéndola primero en unidades mínimas, semánticamente significativas, estructurar un entramado de relaciones entre ellas y, por medio de agregación y composición, unir estos fragmentos para presentar una narración o historia.
TiddlyWiki aspira a proporcionar un álgebra de tiddlers, una forma clara y concisa de expresar y explorar relaciones entre unidades mínimas de información significativa.
TiddlyWiki puede usarse en varias plataformas:
Estas ediciones contienen demos de los plugins originales de TiddlyWiki y se prepararon para ediciones anteriores, que carecían de la librería de plugins.
Plugins are stored as tiddlers with the following fields:
| Field | Description |
|---|---|
| title | Title of plugin |
| description | Description of plugin |
| author | Author of plugin |
| version | Version string (must conform to SemanticVersioning convention) |
| source | Source URL of plugin |
| type | Must be application/json |
| plugin-type | Can be plugin (default), language or theme |
| text | JSON encoding of the list of tiddlers comprising the plugin |
| list | Names of exposed plugin information tiddlers (see below) |
| name | Name of the theme (only for themes) |
| dependents | List of dependent plugins (currently only implemented for themes) |
Plugin authors are encouraged to provide special information and documentation tiddlers that TiddlyWiki can include as plugin information tabs in the control panel.
Plugins should provide an icon contained in a tiddler with the title formed of <plugin-name>/icon (for example, $:/core/icon).
Plugins expose the names of the individual information tabs that they wish to display in the list field of the plugin tiddler. By convention, some or all of the following should be provided:
The title of the associated information tiddler must be formed as follows:
$:/<plugin-name>/<current-language>/<tab-name> (for example, $:/core/en-GB/readme)$:/<plugin-name>/<tab-name> (for example, $:/core/readme)Thus, plugins can provide language-specific versions of each information tiddler.
Note that information tiddlers should not reference other tiddlers within the plugin. This is because plugins containing themes or languages are dynamically switched in and out as they are selected, and so their information tiddlers may not be available for viewing. The control panel uses the 'subtiddler' attribute of the TranscludeWidget to access these tiddlers, which works independently of the plugin switching mechanism.
On the server, plugins can be stored as ordinary JSON tiddlers but it is often more convenient to store them as separate tiddler files within folders. Plugin folders must contain a plugin.info file that contains the metadata for the plugin. It can also optionally identify files external to the plugin folder that should be loaded as tiddlers.
The plugin.info file should contain the following JSON structure:
The JSON structure for plugin tiddlers is as follows:
{
"title": "$:/plugins/publisher/name",
"description": "An exemplary plugin for demonstration purposes",
"author": "JeremyRuston",
"version": "1.2.3-alpha3",
"core-version": ">=5.0.0",
"source": "https://tiddlywiki.com/MyPlugin",
"plugin-type": "plugin",
"list": "readme license history"
}By convention, the titles of the individual tiddlers are prefixed with the title of the containing plugin, but they are not restricted to do so.
Note that if the version field is omitted from a plugin.info file when the plugin folder is packed then it is automatically filled in by the core to the current core version number. This is to ensure that all the core plugins carry the correct version number. Generally plugin authors will want to ensure that they do explicitly specify a version number.
Plugins are bundles of tiddlers that are distributed and managed as a single unit by being packed into a single JSON tiddler. Users can install them with drag and drop, or using the plugin library.
The tiddlers within registered plugins behave as ShadowTiddlers: they can be freely overwritten by creating a tiddler with the same title, but deleting that tiddler restores the underlying tiddler value from the plugin.
Plugins have a plugin-type field that may take the following values:
plugin (default) - a plain plugintheme - a theme plugin (see ThemeMechanism)language - for translations onlyPlugins can be used to package ordinary content, or can include JavaScript modules that extend and enhance the core TiddlyWiki5 functionality.
Plugins conventionally have a title of the form $:/plugins/publisher/name. Plugins that are part of the core TiddlyWiki distribution have titles of the form $:/plugins/tiddlywiki/name.
When running TiddlyWiki under Node.js, plugins can also be stored as individual tiddler files in PluginFolders.
Los complementos y extensiones (plugins) de TiddlyWiki son componentes opcionales que modifican y extienden su funcionalidad. Puedes instalarlos desde la librería oficial o desde las distintas páginas de recursos publicadas por la comunidad.
Estructuralmente, un plugin es un paquete de tiddlers distribuido conjuntamente como un único tiddler, que puede ser instalado, copiado o borrado como una sola unidad. Cada tiddler que forma parte del plugin es un tiddler oculto. Aquí puedes profundizar sobre el tema sobre cómo funcionan y se implementan a nivel interno.
Los complementos y extensiones pueden contener módulos de JavaScript, hojas de estilos y plantillas. También pueden usarse para distribuir texto común, imágenes, audio o cualquier otro tipo de contenidos.
A collection of plugins from TheDiveO.
TheDiveO's Third Flow plugin construction system:
The ThirdFlow plugin brings to you another way to develop customization plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.
TheDiveO's FontAwesome plugin:
The FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customization plugin instead, so nothing else to install.
A collection of plugins from Uwe Stuehler, including:
| purpose | select all shadow titles in the input plugins |
|---|---|
| input | a selection of plugin tiddler titles |
| parameter | none |
| output | all shadow titles contained in the input plugins |
The popup mechanism allows blocks of content to be selectively displayed and positioned with respect to an anchor. It has several parts:
tc-popup-keepA pragma is a special component of WikiText that provides control over the way the remaining text is parsed.
Pragmas occupy lines that start with \. They can only appear at the start of the text, but blank lines are allowed between them. If a pragma line appears in the main body of the text, it is treated as if it was ordinary text.
The following pragmas are available:
\define\rules\whitespace trim or \whitespace notrim\import <filter-expression>| purpose | filter the input titles by how they start |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | those input titles that start with S |
! output | those input tiddlers that do not start with S |
In looking for matches for S, capital and lowercase letters are treated as different.
[tag[task]!prefix[Go]]
[prefix[$:/languages/]]
[prefix[$:/]]
[is[system]]| purpose | prepend a range of items from an array to the list |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to all |
| parameter | list = the array of items to be prepended to the head of the list |
| output | a list with items prepended from the head of the operand array |
! output | a list with items prepended from the tail of the operand array |
These examples make use of the Days of the Week tiddler.
The operator may be used to prepend a number of items to the list.
[list[Days of the Week]prepend[Yesterday Today Tomorrow]]
The operand may list only items without spaces – to include items with spaces, use a reference to an array e.g. prepend the last three short days of the week to the list
[list[Days of the Week]!prepend:3{Days of the Week!!short}]
Generalmente, TiddlyWiki muestra al inicio los tiddlers especificados en $:/DefautTiddlers
A veces, sin embargo, es útil mostrar los mismos tiddlers que estaban abiertos cuando se guardó el archivo. Para hacerlo, en $:/DefautTiddlers en lugar una lista de tiddlers, debe especificarse el siguiente filtro:
[list[$:/StoryList]]Este filtro devuelve la lista de tiddlers que figuran en $:/StoryList, que es donde el sistema almacena el histórico de tiddlers.
| purpose | find which titles in a list field precede the input ones |
|---|---|
| input | a selection of titles |
| parameter | T = a tiddler title |
| output | a selection containing each title that immediately precedes each of the input titles in the list field of T |
Each input title is processed in turn, and its predecessor is located in the list field and appended to the output. If a title is not listed in the field, or is the first item there, then it contributes nothing to the output.
These examples make use of the Days of the Week tiddler.
[[Wednesday]previous[Days of the Week]]
[[Monday]previous[Days of the Week]]
Tuesday Wednesday Thursday +[previous[Days of the Week]]
| purpose | move N trailing items after the marker |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to 1 |
| parameter | marker = the list item to be used as a marker |
| output | re-ordered list of items |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[putafter[Wednesday]]
[list[Days of the Week]] +[putafter:2[Tuesday]]
[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putafter:3[Tuesday]]
| purpose | move N trailing items before the marker |
|---|---|
| input | a selection of titles |
| suffix | an integer N, defaulting to 1 |
| parameter | marker = an integer, defaulting to 1 |
| output | the first N input titles |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[putbefore[Wednesday]]
[list[Days of the Week]] +[putbefore:2[Tuesday]]
[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putbefore:3[Tuesday]]
| purpose | move N trailing items to the head of the list |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to 1 |
| parameter | ignored |
| output | re-ordered list of items |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[putfirst[]]
[list[Days of the Week]] +[putfirst:2[]]
[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[putfirst:-2[]]
| purpose | move N leading items to the tail of the list |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to 1 |
| parameter | ignored |
| output | re-ordered list of items |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[putlast[]]
[list[Days of the Week]] +[putlast:2[]]
one two three [list[Days of the Week]] +[putlast:-3[]]
Answer: New in: 5.1.16
If tiddler has both: this AND tag that create an orange border.
[data-tags*="bar"][data-tags*="froz"] {
border: 2px solid orange;
}If your CSS looks like this:
[data-tags~="this"] {
border: 2px solid blue;
}
[data-tags~="that"] {
border: 2px solid red;
}this creates a blue border
that creates a red border
If you swap positions, you get it the other way around.
Answer: New in: 5.1.16
Either tag this or tag that create a red border.
[data-tags~="this"],
[data-tags~="that"] {
border: 2px solid red;
}Consider the following usecase: New in: 5.1.16
There is a field named: rank, which can hold different values eg: species.
Answer:
The idea is now: We dynamically create the stylesheet. The style-sheet can look like this:
title: myStyles
tags: $:/tags/Stylesheet
<$list filter="[rank[species]]">
[data-tiddler-title^="<$view field=title/>"] .tc-tiddler-body {
column-count: 2;
}
</$list> This creates a CSS rule for every tiddler-title, that has a field rank and value species.
Answer: New in: 5.1.16
data-tiddler-title as CSS selector[data-tiddler-title^="$:"/] as a selector[data-tags*="Learning"] as CSS selector. The names I'm using are only used for documentation purpose, without changing the existing wiki. I don't want, that the docs has side effects.
The qualify macro is an important part of the StateMechanism.
It returns a unique string that encodes its position within the widget tree, as identified by the stack of transcluded tiddlers that lead to that position.
It is implemented using the transclusion variable.
The results returned by the qualify macro depend on its location in the transclusion stack.
The two examples below are identical, but produce different results because the second one has been transcluded from another tiddler.
Each example shows the result of calling qualify and then the value of the transclusion variable.
<ul>
<li><code><<qualify "BaseTiddler">></code></li>
<li><code><<transclusion>></code></li>
</ul>
<ul> <li><code><<qualify "BaseTiddler">></code></li> <li><code><<transclusion>></code></li> </ul>
Wikipedia define un Quine como un programaque produce su código fuente como única salida.
TiddlyWiki es un raro ejemplo de Quine con utilidad práctica: es esa capacidad para producir una copia de su propio código fuente lo que constituye el secreto de su capacidad para almacenar independientemente cambios en sí mismo.
The radio widget displays an HTML <input type="radio"> that reflects whether a given tiddler field has a specified value. Selecting the radio button sets to the tiddler field to the value.
The content of the <$radio> widget is displayed within an HTML <label> element also containing the radio button. This means that clicking on the content will have the same effect as clicking on the button itself.
| Attribute | Description |
|---|---|
| tiddler | Title of the tiddler to manipulate (defaults to the current tiddler) |
| field | The field of the tiddler bound to the radio button |
| index | New in: 5.1.14 The index of the tiddler being DataTiddler bound to the radio button |
| value | The value for the field or index of the tiddler |
| class | The CSS classes assigned to the label around the radio button |
This example uses the radio widget to change the modifier field of this tiddler:
<$radio field="modifier" value="JoeBloggs"> Joe Bloggs</$radio>
<$radio field="modifier" value="JaneBloggs"> Jane Bloggs</$radio>Este es su aspecto:
Using the radio widget in index mode requires the index attribute to specify the name of the index of a DataTiddler to which the specified value is assigned.
This example sets the Tree Frog index in the tiddler AnimalColours:
<$tiddler tiddler="AnimalColours">
<$radio index="Tree Frog" value="green"> green</$radio>
<$radio index="Tree Frog" value="brown"> brown</$radio>
</$tiddler>Este es su aspecto:
Los diagramas sintácticos o "de ferrocarril" son una forma visual de explicar las reglas sintácticas de un lenguaje de programación. Para entenderlos, hay que leerlos como si fueran planos de metro.
Cada diagrama empieza a la izquierda y acaba a la derecha, así que simplemente sigue las líneas de principio a fin. Todas las líneas intermedias son igualmente válidas. A veces unas líneas saltan por encima de un elemento opcional, o vuelven sobre sí mismas, para indicar que ese elemento puede repetirse.
En este ejemplo, se incluye una coma entre cada iteración del elemento reiterado. El camino señalado con una coma va de derecha a izquierda y sólo puede se puede seguir pasando una primera vez por el elemento reiterado.
Los caracteres en caja redonda son literales, es decir, que se refieren a sí mismos. Un nombre en caja rectangular, por el contrario, se refiere a otro diagrama sintáctico.
Los diagramas sintácticos de la documentación de TiddlyWiki se generan con el plugin Railroad.
Este plugin proporciona un widget para la elaboración de diagramas sintácticos en forma de imágenes SVG.
La notación del diagrama puede guardarse en un tiddler exclusivo con el campo type definido como text/vnd.tiddlywiki.railroad, de forma que esté disponible para transclusión allí donde se necesite.
El plugin se basa en una librería de Tab Atkins, y se ha trabajado en ella para hacerla más flexible, lo que incluye que los componentes del diagrama actúen como enlaces o admitan transclusión de otros tiddlers.
Para más información sobre el uso de este plugin, pincha aquí
| purpose | generate a range of numbers |
|---|---|
| input | ignored |
| parameter | N = a range specification, like [1,5] |
| output | a series of evenly spaced numbers ranging from <begin> to <end> |
The range operator produces a list of numbers counting up or down. It's useful for counting and numbering, or in combination with the Formula Plugin.
| Purpose | produce a range of numbers |
|---|---|
| Input | ignored. |
| Parameter | 1-3 numbers separated by , or ;. |
| Output | A series of evenly spaced numbers ranging from <begin> to <end> |
! Output | As Output, but with order reversed. |
The parameter has three forms:
| Parameter | Output |
<end> | Whole numbers up to <end>. |
<begin>,<end> | Numbers from <begin> to <end>, spaced by whole numbers. |
<begin>,<end>,<step> | Numbers from <begin> to <end> spaced out by <step>. |
Each part must be a number, and works as follows:
<begin>: start counting at this number.<end> is at least 1 (or -1 if <end> is at most -1).<end>: stop counting at this number.<step>: count up (or down) by this amount.<begin> toward <end>, whether <step> is positive or negative.The number of decimal points in the output is fixed, and based on the parameter with the most decimal points.
To prevent the browser from freezing, range is currently limited to 10,000 values.
[range[7]]1 2 3 4 5 6 7
[range[1, 10]]1 2 3 4 5 6 7 8 9 10
[range[17,13]]17 16 15 14 13
[range[1.001, 5, 1]]1.001 2.001 3.001 4.001
[range[.5,1.4,.004]]0.500 0.504 0.508 0.512 0.516 0.520 0.524 0.528 0.532 0.536 0.540 0.544 0.548 0.552 0.556 0.560 0.564 0.568 0.572 0.576 0.580 0.584 0.588 0.592 0.596 0.600 0.604 0.608 0.612 0.616 0.620 0.624 0.628 0.632 0.636 0.640 0.644 0.648 0.652 0.656 0.660 0.664 0.668 0.672 0.676 0.680 0.684 0.688 0.692 0.696 0.700 0.704 0.708 0.712 0.716 0.720 0.724 0.728 0.732 0.736 0.740 0.744 0.748 0.752 0.756 0.760 0.764 0.768 0.772 0.776 0.780 0.784 0.788 0.792 0.796 0.800 0.804 0.808 0.812 0.816 0.820 0.824 0.828 0.832 0.836 0.840 0.844 0.848 0.852 0.856 0.860 0.864 0.868 0.872 0.876 0.880 0.884 0.888 0.892 0.896 0.900 0.904 0.908 0.912 0.916 0.920 0.924 0.928 0.932 0.936 0.940 0.944 0.948 0.952 0.956 0.960 0.964 0.968 0.972 0.976 0.980 0.984 0.988 0.992 0.996 1.000 1.004 1.008 1.012 1.016 1.020 1.024 1.028 1.032 1.036 1.040 1.044 1.048 1.052 1.056 1.060 1.064 1.068 1.072 1.076 1.080 1.084 1.088 1.092 1.096 1.100 1.104 1.108 1.112 1.116 1.120 1.124 1.128 1.132 1.136 1.140 1.144 1.148 1.152 1.156 1.160 1.164 1.168 1.172 1.176 1.180 1.184 1.188 1.192 1.196 1.200 1.204 1.208 1.212 1.216 1.220 1.224 1.228 1.232 1.236 1.240 1.244 1.248 1.252 1.256 1.260 1.264 1.268 1.272 1.276 1.280 1.284 1.288 1.292 1.296 1.300 1.304 1.308 1.312 1.316 1.320 1.324 1.328 1.332 1.336 1.340 1.344 1.348 1.352 1.356 1.360 1.364 1.368 1.372 1.376 1.380 1.384 1.388 1.392 1.396 1.400
The range widget displays an HTML <input type="range"> that reflects a given tiddler field numeric value. Adjusting the radio button sets the tiddler field to the value.
The content of the <$range> widget is ignored.
| Attribute | Description |
|---|---|
| tiddler | Title of the tiddler to manipulate (defaults to the current tiddler) |
| field | The field of the tiddler bound to the radio button |
| min | The minimum value to be able to be set by the <$range> widget. |
| max | The maximum value to be able to be set by the <$range> widget. |
| increment | The minimum amount by which a value may be changed. Defaults to 1. |
| default | The default value displayed if the field is missing or empty. |
| class | CSS classes to be assigned to the label around the radio button |
<$range tiddler="$:/_RangeDemo/1" min="-1" max="10" default="1" increment="1"/> {{$:/_RangeDemo/1}}Este es su aspecto:
<$range tiddler="$:/_RangeDemo/2" min="0" max="1" default=".01" increment=".01"/> {{$:/_RangeDemo/2}}Este es su aspecto:
Featuring plugins that integrate two interesting new capabilities:
I developed some plugins related to engineering tasks.
After using them for personal projects I'm glad to share with TiddlyWiki community.
Welcome to TiddlyWiki, a non-linear personal web notebook that anyone can use and keep forever, independently of any corporation.
TiddlyWiki is a complete interactive wiki in JavaScript. It can be used as a single HTML file in the browser or as a powerful Node.js application. It is highly customisable: the entire user interface is itself implemented in hackable WikiText.
Learn more and see it in action at https://tiddlywiki.com/
Developer documentation is in progress at https://tiddlywiki.com/dev/
Son listas de correo en las que hablamos de TiddlyWiki: pedimos ayuda, anunciamos la publicación de nuevas ediciones o de nuevos plugins, debatimos sobre nuevas características, o simplemente compartimos experiencias.
Puedes participar a través de la página web asociada, o suscribirte via mail.
No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:
Además, puedes participar en nuestras reuniones periódicas online
o síguenos en Twitter si quieres recibir las últimas noticias
Grupo de desarrollo de TiddlyWiki
No necesitas tener cuenta en Google para acceder al grupo. Suscríbete igualmente enviando un mail a:
Accede a nuestra página de desarrollo en GitHub y haz tu contribución.
Síguenos en Twitter si quieres estar al tanto de las últimas noticias
Las nuevas ediciones de TiddlyWiki, TiddlyDesktop y TiddlyFox se anuncian en los foros de discusión y en Twitter.
También puedes suscribirte al feed de versiones en GitHub
npm install -g tiddlywiki(ver nota * más abajo)Si te da fallo, necesitas volver a ejecutar la orden como administrador:
sudo npm install -g tiddlywiki(Mac/Linux)
tiddlywiki --version
tiddlywiki miwiki --init server creará, en el mismo directorio en el que hayas abierto la consola, una carpeta llamada miwiki, con los componentes necesarios.tiddlywiki miwiki --server pondrá en marcha TiddlyWiki, que podrás ver y editar en el navegador.
tiddlywiki --build index
Nota: El argumento
-ghace que TiddlyWiki se instale globalmente (es decir, en todo el equipo). Sin él, TiddlyWiki estará disponible únicamente en el directorio desde el que lo instales.Si usas Debian o un sistema basado en Debian y recibes un mensaje del tipo
node: command not foundpese a haber instalado node.js, puede que necesites crear un enlace simbólico entrenodejsynode. En tal caso, consulta el manual de tu distribución de Linux ywhereis(más información sobre este comando) para crearlo correctamente (ver también issue 1434 en GitHub).Ejemplo en Debian v8.0:
sudo ln -s /usr/bin/nodejs /usr/bin/node
TiddlyWiki se puede usar desde la línea de comandos para ejecutar una larga lista de operaciones basadas en carpetas, tiddlers y archivos HTML de ~Tiddlywiki.
Por ejemplo, el siguiente comando carga tiddlers de un archivo HTML de TiddlyWIki y guarda uno de ellos (ReadMe) como HTML estático (readme.html):
tiddlywiki --verbose --load mi_wiki.html --rendertiddler ReadMe ./readme.htmlEjecutar TiddlyWiki desde la línea de comandos pone en marcha el núcleo, carga los plugins y establece un "almacén" de tiddlers en blanco. A partir de entonces procesa los argumentos de la línea de comandos de izquierda a derecha. Los argumentos se separan con espacios.
El primer argumento es la ruta opcional al WikiFolder que se va a cargar. Si no se especifica, se usa el directorio actual.
Le siguen uno o varios comandos con sus respectivos argumentos. Los comandos se identifican con el prefijo --.
tiddlywiki [<ruta>] [--<comando> [<argumento>[,<argumento>]]]Los comandos disponibles son:
Si has instalado TiddlyWiki en Node.js de la forma habitual, puedes actualizarlo a la última versión con este comando:
npm update -g tiddlywikiEn Mac o Linux necesitas añadir "sudo":
sudo npm update -g tiddlywikiThis readme file was automatically generated by TiddlyWiki
The TiddlyWiki5 repository contains several scripts in the bin folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See Scripts for building tiddlywiki.com for details of the scripts used to build and release https://tiddlywiki.com/.
All the scripts expect to be run from the root folder of the repository.
serve: serves tw5.com./bin/serve.sh -h
./bin/serve.sh [edition dir] [username] [password] [host] [port]Or:
./bin/serve.cmd -h
./bin/serve.cmd [edition dir] [username] [password] [host] [port]This script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the tw5.com-server edition. By default, the Node.js serves on port 8080. If the optional username parameter is provided, it is used for signing edits. If the password is provided then HTTP basic authentication is used. Run the script with the -h parameter to see online help.
To experiment with this configuration, run the script and then visit http://127.0.0.1:8080 in a browser.
Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).
test: build and run testsThis script runs the test edition of TiddlyWiki on the server to perform the server-side tests and to build test.html for running the tests in the browser.
lazy: serves tw5.com with lazily loaded images./bin/lazy.sh <username> [<password>]Or:
./bin/lazy.cmd <username> [<password>]This script serves the tw5.com-server edition content with LazyLoading applied to images.
2bld: builds TiddlyWiki 2.6.5This script builds TiddlyWiki 2.6.5 from the original source and then displays the differences between them (diff is used for *nix, fc for Windows).
Los siguientes temas constituyen la documentación de referencia de TiddlyWiki:
Los tiddlers de referencia ofrecen información al lector –presumiblemente de nivel intermedio o experto– de manera comprensible e interreferenciada.
Se estructura en varias subcategorías:
El material de referencia se redacta en estilo formal que evita referirse al lector y enfoca su atención en el comportamiento de TiddlyWiki. Predomina el uso de la voz pasiva y las expresiones impersonales:
Reference material is written in a terse, formal style that avoids referring to the reader, and instead focuses on how TiddlyWiki itself behaves. The passive voice is often suitable:
Al redactar en inglés, se evita el uso de formas verbales contraídas, pero aquellas que terminan en "n't", como ("aren't", "doesn't", "hasn't", "isn't"... etc, son aceptables, ya que así es menos probable que en su lectura se pase por alto el "not" de las formas no contraídas.
| purpose | filter the input by pattern-matched field |
|---|---|
| input | a selection of titles |
| suffix | F = the name of a field, defaulting to title |
| parameter | X = a regular expression |
| output | those input tiddlers in which field F matches X |
! output | those input tiddlers in which field F does not match X |
Regular expressions are concise strings of characters that denote patterns of text to search for. The format used in TiddlyWiki is fully defined in this Mozilla reference.
The filter syntax makes it impossible to directly specify a regular expression that contains square brackets. The solution is to store the expression in a variable. See the examples.
The parameter X can optionally start or end with a string of flags:
Only the i flag is generally useful: it forces the different between capital and lowercase letters to be ignored.
If X is empty, regexp will match all of the input tiddlers.
These examples make use of the Days of the Week tiddler.
[!is[system]regexp[Wiki]]
Wiki in their title[!is[system]regexp[(?i)Wiki]]
Wiki in their title, ignoring case[!is[system]regexp[Wiki(?i)]]
[regexp[(?i)\.jpe?g$]]
.jpg or .jpeg, ignoring case[regexp:created[^201408]]
The regular expression [0-9]{2} matches two consecutive digits. Because it contains square brackets, the way to use it with the regexp operator is via a variable, as follows:
<$set name="digit-pattern" value="[0-9]{2}">
<<list-links "[regexp:title<digit-pattern>]">>
</$set>Este es su aspecto:
This release is the culmination of a large scale refactoring of the widget mechanism of TiddlyWiki5. There are several changes to be aware of if upgrading from earlier versions:
<$setstyle> - use <div style=<<macroName Param>>> instead<$video> - will return in a later release<$datauri> - use the <<makedatauri>> built-in macro instead<$error> - may return in a later release<$import> - use the BrowseWidget, DropzoneWidget and NavigatorWidget instead<$info> - use the <<changecount>> built-in macro instead<$version> - use the <<version>> built-in macro instead<div> or a <span> to be able to style the content<$view format="link"/> is no longer available; use an explicit <$link> widget instead<$view format="link"/> is no longer available; use the TranscludeWidget insteadtiddler is used to reference a tiddler by title, not titlebody element now has the class tw-body, which will need to be specified in any overrides<body> elements in a documentSee GitHub for detailed change history of this release
This minor release just contains fixes for the syncer and related adaptor modules for the TiddlyWeb edition and for TiddlyWiki5's integrated server.
See GitHub for detailed change history of this release
This release has several bug fixes:
<$edit-text> widget<<tabs>> macro to the tiddler info panel, the control panel and the sidebarcaption field for the text of the tab:list field of the corresponding tag tiddlerSee GitHub for detailed change history of this release
This release has several bug fixes:
See GitHub for detailed change history of this release
tw-close-other-tiddlers message (eg, )<$setvariable> to <$set><$setvariable> will temporarily remain as a synonym for <$set> for the next few releasesfields and index attributes of the TranscludeWidgetContributors to this release include @jermolene and @grayeul.
See GitHub for detailed change history of this release
$:/state/tab/sidebar-{$:/core/ui/SideBar|$:/core/ui/SideBar||}{$:/core/ui/PageTemplate|$:/core/ui/PageTemplate||} one gets $:/state/tab/sidebar-{1743827719}$:/tags/PageTemplate$:/core/templates/tiddlywiki5.template.html to $:/core/save/allContributors to this release include @jermolene, @asampal and @pmario.
See GitHub for detailed change history of this release
See GitHub for detailed change history of this release
$:/theme isn't defined or refers to a missing tiddler, then fallback through Snow White to Vanilla. This means that empty.html now defaults to Snow White$:/tags/PageControls tiddlers from being reordered5.0.x-beta and the final release will be 5.1.xSee GitHub for detailed change history of this release
[untagged[]] filter operatorSee GitHub for detailed change history of this release
See Notes for upgrading to 5.0.11-beta for more details of these changes:
/output folder within TiddlyWikiFolders (it used to be current directory)[link text](#TiddlerTitle)[ext[tooltip|url]])tabs macrobefore and afterget operator.tid TiddlerFiles to allow single line text fields$:/ShowEditPreview to $:/state/showeditpreviewI (@Jermolene) would like to thank the contributors to this release who have generously given their time to helping improve TiddlyWiki:
@BramChen, @mwfogleman, @nameanyone, @natecain, @pekopeko1, @pmario, @sukima, @xcazin.
See GitHub for detailed change history of this release
This is an emergency release that fixes a single significant bug with shadow tiddler handling in 5.0.11. See the discussion thread for more details.
See GitHub for detailed change history of this release
This release includes a number of features designed to improve the experience of TiddlyWiki with a screen reader. Particular thanks to @domasofan for his feedback
text/html tiddlers so that they are displayed within an HTML iframe elementlisted operator to use any list field@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
The Plugins tab of the control panel has been improved with the addition of documentation tabs that plugins can use to show documentation. There is also a larger draggable area for dragging tiddlers across to other wikis.
The page toolbar and the tiddler toolbars can now be configured with several new buttons - see the control panel under the Appearance and Toolbars tabs.
The sidebar tools tab now shows all the available page controls, allowing them to be invoked or checked to appear in the toolbar. The tiddler info area now includes a tools tab that includes buttons for all the tiddler actions.
There are two components:
TiddlyWiki now takes a much more conservative approach to recognising CamelCase terms that should be automatically linked. Previously, the dash and underscore were treated as lower case letters, leading to a number of false positives. See the GitHub bug #337 for details.
With previous beta releases of TiddlyWiki the browser address bar is automatically updated so that it dynamically reflects the tiddlers that are currently open. This makes it easier to get a permalink for copying and pasting elsewhere, but it leads to much confusion for casual users who don't always understand why unexpected tiddlers are being displayed after they have refreshed the page in the browser.
For 5.0.14-beta, the setting has been changed. Visit control panel Advanced/Settings to switch the setting back to "Include the target tiddler and the current story sequence".
\rules pragmatabs macro to allow tabs to be templated*.htm and *.hta files as well as the existing support for *.html files\end of a macro definition@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
saver-handler.js out of syncer.js@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
5.0.16-beta brings more incompatible changes than any previous release. These changes are likely to break almost all plugins written for previous releases of TiddlyWiki 5, and will break many customisations.
tw- to tc- (eg tw-tiddler-frame has become tc-tiddler-frame; missing prefixes have also been added, so btn-invisible has become tc-btn-invisible)tw- to tm- (eg tw-close-tiddler has become tm-close-tiddler)tw- to tv- (eg tw-config-toolbar-icons has become tv-config-toolbar-icons)This release includes a preliminary version of a new plugin that provides compatibility with content created for TiddlyWikiClassic:
https://tiddlywiki.com/classicparserdemo.html
Subsequent releases will include end-user documentation with step-by-step instructions for migrating content.
Many thanks to @buggyj for his work on this plugin.
all operator to be able to select all the source tiddlers\define mymacro() yes would set the macro value to " yes", with a leading space)suffix and removesuffix operators@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This release includes major improvements from @giffmex to the welcome and tutorial documentation, and new development docs incorporating the work of @cheigele and @cjrk.
$:/tags/stylesheet with $:/tags/StylesheetThe issue is that the capitalisation of $:/tags/stylesheet is not consistent with other system tags. This release adds support for $:/tags/Stylesheet, and adds a deprecation warning if $:/tags/stylesheet is used. Support for $:/tags/stylesheet will be removed before the beta.
$:/tags/Stylesheet and a deprecation warning when $:/tags/stylesheet is usedtitle attribute to tooltipThe use of the title attribute in the ButtonWidget was not consistent with the tooltip attribute used by the ImageWidget and LinkWidget. This release adds support for the tooltip attribute to the ButtonWidget alongside the existing support for the title attribute, but with a deprecation warning.
tooltip attribute to ButtonWidgetAs discussed in the associated ticket, the support for regular expression filter operands is incomplete and inconsistent. The plan is to remove support for this feature in the next release. A new filter operator has been provided to replace it, along with the addition of a deprecation warning that is displayed whenever regular expression filter operators are used.
The goal is to make the TiddlyWiki repository easier to comprehend for newcomers.
bin folderserve.sh/serve.cmd scriptstimeline macrodumpvariables macro<p> tag from edit tags and types dropdowns@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is a minor release prior to the full release of TiddlyWiki on September 20th. The documentation has been cleaned up and improved (with more improvements to come).
The layout of files on tiddlywiki.com has been adjusted to make it more logical. See the ticket for a discussion. You can see the source files that make up tiddlywiki.com at https://github.com/Jermolene/jermolene.github.com
list-links macro (further improvements are planned).markdown and .md filestimeline macro to support a subfilter.jpeg file extensions@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
*.hta{{!!tags}})$:/tags/PageControls)See GitHub for detailed change history of this release
This release includes minor bug fixes and documentation updates.
See GitHub for detailed change history of this release
tiddlywiki.info file in the root of wiki folder file is now optional, falling back to a default configuration suitable for serverside use (commit)tiddlers subfolder in the wiki folderThis release includes minor bug fixes and documentation updates.
See GitHub for detailed change history of this release
See GitHub for detailed change history of this release
See GitHub for detailed change history of this release
These are changes that might affect users upgrading from previous betas.
See GitHub for detailed change history of this release
See Notes for upgrading to 5.0.8-beta for more details of these changes:
.multids MultiTiddlerFilesSee GitHub for detailed change history of this release
$:/ prefixlist-before and list-after fields for controlling tag ordering (see TiddlerTags for details)sourceURL handling to eval() so that tiddler modules can be properly debugged in Chrometw-site-title for the site titleSee GitHub for detailed change history of this release
This is the first full release of TiddlyWiki. Documentation updates made up the bulk of the changes since the previous 5.0.18-beta release.
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is a minor bug fix release to improve the documentation and correct some issues with the first full release of TiddlyWiki.
Certain features that were deprecated in Release 5.0.17-beta have now been removed:
title attribute on the ButtonWidget$:/tags/stylesheet system tagNote that the next release will also remove support for regular expression filter operands, which was also deprecated in 5.0.17-beta.
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This release includes several low-level performance optimisations that should improve speed and responsiveness in many common operations.
There is a new setting in the control panel to enable performance instrumentation, making it much easier to measure and improve performance issues.
Three new editions of TiddlyWiki are included in this release. These can be used as starting points for creating your own wiki for several purposes:
Limited support for tiddlers stored in external .tid files:
See Alice in Wonderland for an example. Try opening it without a network connection.
A new theme called "Tight" uses reduced padding, margins and font-sizes to pack as much text as possible:
publishFilter to default save template$tw.utils.tagToCssSelector(tagName) for converting tag titles into a form suitable for matching the tc-tagged-* classes generated by TiddlyWikitiddlywiki.info files$:/templates/something being erroneously classed as $:/temp tiddlers, and so excluded from syncing.meta filetiddlywiki.files support in TiddlyWikiFolders to allow directories to be loaded recursively, as well as individual files@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is a bug-fix release for Release 5.1.10 that fixes a serious issue affecting the operation of the official plugin library.
See GitHub for detailed change history of this release
Added support for extensible formatting toolbars for the editor widgets.
The bitmap editor has been enhanced with a toolbar supporting:
Several of the official plugins available in the plugin library have been updated for this release. Upgrading will automatically update any installed plugins.
.enex files to be imported into TiddlyWiki.list-children filter operatortiddlywiki/internals plugin for an example)mobile-web-app-capable meta tag for Android Chromeplainwikified format for the ViewWidget@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is a minor bug fix release.
.tid extension added to tiddler filenames@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
There are several improvements to Drag and Drop:
A new theme called "Heavier" thickens TiddlyWiki's default lightweight fonts. A variant "Tight-Heavier" combines the "Heavier" theme with the existing "Tight" theme:
Added new tiddler manager to support tasks such as:
The tiddler manager will be extended in the future to increase flexibility and to add support for bulk operations.
$:/info/url/* information tiddlers providing document location informationindex attributetag attribute to the KeyboardWidget.json tiddler files containing a single tiddler object, instead of an array of tiddlers$tw.utils.strEndsWith()syncAdaptor.isReady() method to improve compatibility with older adaptorsString.prototype.replace(), corrupting fields containing dollar signs/index.js to a require target@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
New and improved translations:
Another improvement that benefits users of translations is the addition of about 800 new transliteration pairs. These are substitutions that are performed when converting a tiddler title into a filename, such as the two characters "oe" for the single character "œ". See the commit for more details. The result is that automatically generated filenames are much more readable.
tc-btn-* classes to toolbar buttons allowing easier custom stylingallbefore:include filter operator$tw.boot.boot() to add a callback parameterth-importing-files hook@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
The CodeMirror plugin has undergone a substantial rewrite, with many new improvements:
New and improved translations:
Prompted by the General Data Protection Regulation (GDPR), we've removed all third party cookies from tiddlywiki.com.
th-page-refreshed hookth-cancelling-tiddler, th-new-tiddler and th-renaming-tiddlerth-server-command-post-start@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
After encountering significant problems we've reluctantly decided to remove support for multiple sub-operators with the is Operator that was added in v5.1.16.
$:/status/UserName when logged out/*\ style metadata comments at the top of *.CSS files@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This version introduces new infrastructure to handle global keyboard shortcuts. The core ships with the following shortcuts:
See How to create keyboard shortcuts
The HTTP WebServer functionality has been significantly improved:
See WebServer for more details, or see the changes on GitHub.
In previous versions of TiddlyWiki, there were some special character sequences in tiddler titles that would break certain features. For example, a tiddler title ending in double quotes would cause the Table-of-Contents Macros to render incorrectly.
As of 5.1.18, many of these problems have been fixed by refactoring the features to use the latest abilities of wikitext:
Note that using certain characters in tiddler titles will still prevent some features from being used correctly. For example, two vertical bar characters are used in the double curly braces transclusion syntax to separate the tiddler title from the template title: {{title||template}}. However, although it would be impossible to transclude a tiddler called title||template using that syntax, one could still transclude it using <$transclude tiddler="title||template"/>.
New and improved translations:
~ allowing if-then-else logic within filters – see Filter Expression!! or ##position:fixed top menu bar – see Hidden Setting: Scroll Top Adjustment<select> element colouring\import Pragma as a more concise alternative to using the ImportVariablesWidget directly$tw.utils.parseStringArray() to optionally allow non-unique entries@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is another small release with documentation updates and a few bug fixes and improvements.
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
addprefix and addsuffix operatorslist-links macro to display caption field if presenteach operator to work with missing tiddlerstm-home message wasn't navigating to a tiddler, causing problems in zoomin storyviewtimeline macroThese changes are only relevant to people using TiddlyWiki under Node.js
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is a small release with documentation improvements and some important bug fixes from Release 5.1.3.
These changes are only relevant to people using TiddlyWiki under Node.js
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
timeline macro to be able to use different date fieldssearch operator to allow a field to be specifiedThese changes are only relevant to people using TiddlyWiki under Node.js
tc-popup-handle.@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
has and field operatorsThese changes are only relevant to people using TiddlyWiki under Node.js
$tw.utils.each so that the loop can be broken out of@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
This is an hot fix release with the following change over Release 5.1.6:
See GitHub for detailed change history of this release
This release includes many improvements to the documentation for TiddlyWiki. Many thanks to everyone who has helped out, but especially to our prodigious new contributor Astrid Elocson.
position: sticky (such as Safari and Firefox)<p> tags)<iframe> elementsThese changes are only relevant to people using TiddlyWiki under Node.js
@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
See GitHub for detailed change history of this release
An experimental plugin to add a simple "Powered by TiddlyWiki" banner to your site. It is included in this prerelease but will not be on the main tiddlywiki.com wiki.
It is now possible to arrange the main window so that the sidebar has a fixed width and the story river expands to fill the remaining space.
To switch it on, visit Theme Tweaks in the $:/ControlPanel Appearance tab and use the following options:
A new setting in $:/ControlPanel Settings tab allows the toolbar button style to be chosen from the following options:
Plugins can add new style options.
An experimental new tiddler toolbar button opens a single tiddler in a separate pop-up browser window. The tiddler will be dynamically updated just as in the main window. There are several uses:
There's a new core palette "Solar Flare", contributed by Rustem Akbulatov (@nameanyone).
There are new options for controlling the position in the story river of newly opened tiddlers. Visit the Settings tab of $:/ControlPanel and look for "Tiddler Opening Behaviour".
Two new hidden settings for advanced configuration:
Added VarsWidget for setting multiple variables in one operation:
<$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
<<greeting>>! I am <<me>> and I say: <<sentence>>
</$vars>\begin/\end environments, including support for array, matrix, pmatrix, bmatrix, vmatrix, and Vmatrix\sqrt arguments, e.g. \sqrt[3]{x}\phantom\#, \&$name and $value attributes<kbd> elements such as escape and enter/.-position: relative; to example scrollable widget styles@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
Here are the details of recent releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named. Note that archived versions of release source files are available at https://github.com/Jermolene/TiddlyWiki5/releases
If you are using node.js, you can also install prior versions like this:
npm install -g tiddlywiki@5.1.13
(BetaReleases and AlphaReleases are listed separately).
Released 6 diciembre 2018 at 09:00
See GitHub for detailed change history of this release
This version introduces new infrastructure to handle global keyboard shortcuts. The core ships with the following shortcuts:
See How to create keyboard shortcuts
The HTTP WebServer functionality has been significantly improved:
See WebServer for more details, or see the changes on GitHub.
In previous versions of TiddlyWiki, there were some special character sequences in tiddler titles that would break certain features. For example, a tiddler title ending in double quotes would cause the Table-of-Contents Macros to render incorrectly.
As of 5.1.18, many of these problems have been fixed by refactoring the features to use the latest abilities of wikitext:
Note that using certain characters in tiddler titles will still prevent some features from being used correctly. For example, two vertical bar characters are used in the double curly braces transclusion syntax to separate the tiddler title from the template title: {{title||template}}. However, although it would be impossible to transclude a tiddler called title||template using that syntax, one could still transclude it using <$transclude tiddler="title||template"/>.
New and improved translations:
~ allowing if-then-else logic within filters – see Filter Expression!! or ##position:fixed top menu bar – see Hidden Setting: Scroll Top Adjustment<select> element colouring\import Pragma as a more concise alternative to using the ImportVariablesWidget directly$tw.utils.parseStringArray() to optionally allow non-unique entries@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
| purpose | remove a list of titles specified in the operand from the input |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to all |
| parameter | array = an array of items to remove |
| output | items removed from current list that appear at the head of the operand array |
! output | items removed from current list that appear at the tail of the operand array |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] +[remove[Tuesday Wednesday Thursday]]
[list[Days of the Week]] +[remove:3[Monday Wednesday Friday Saturday]]
[list[Days of the Week]] +[!remove:2{Days of the Week!!list}]
| purpose | filter the input titles by how they start, deleting that prefix |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | those input titles that start with S, but with those characters discarded |
In looking for matches for S, capital and lowercase letters are treated as different.
| purpose | filter the input titles by how they end, deleting that suffix |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | those input titles that end with S, but with those characters discarded |
In looking for matches for S, capital and lowercase letters are treated as different.
Render individual tiddlers identified by a filter and save the results to the specified files.
Optionally, the title of a template tiddler can be specified. In this case, instead of directly rendering each tiddler, the template tiddler is rendered with the "currentTiddler" variable set to the title of the tiddler that is being rendered.
A name and value for an additional variable may optionally also be specified.
--render <tiddler-filter> [<filename-filter>] [<render-type>] [<template>] [<name>] [<value>][is[tiddler]addsuffix[.html]], which uses the unchanged tiddler title as the filenametext/html (the default) returns the full HTML text and text/plain just returns the text content (ie it ignores HTML tags and other unprintable material)By default, the filename is resolved relative to the output subdirectory of the edition directory. The --output command can be used to direct output to a different directory.
Notes:
--render "[[Motovun Jack.jpg]]"[encodeuricomponent[]addprefix[static/]] applies URI encoding to each title, and then adds the prefix static/--render command is a more flexible replacement for both the --rendertiddler and --rendertiddlers commands, which are deprecatedExamples:
--render "[!is[system]]" "[encodeuricomponent[]addprefix[tiddlers/]addsuffix[.html]]" – renders all non-system tiddlers as files in the subdirectory "tiddlers" with URL-encoded titles and the extension HTML
Genera un tiddler del ContentType que se especifique (por defecto text/html) y lo guarda con el nombre de archivo especificado
--rendertiddler <title> <filename> [<type>]Por defecto, el nombre de archivo es relativo al subdirectorio output en el directorio del wiki
Puede usarse el comando --output para dirigir la salida a cualquier otro directorio
Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.
Genera un conjunto de tiddlers de un determinado ContentType (por defecto text/html) y extensión de archivo (por defecto, .html), coincidentes con el argumento de un filtro
--rendertiddlers <filter> <template> <pathname> [<type>] [<extension>]Por ejemplo:
--rendertiddlers [!is[system]] $:/core/templates/static.tiddler.html ./static text/plainPor defecto, la ruta es relativa al subdirectorio output del directorio del wiki
Puede usarse con el comando --output para dirigir la salida a un directorio diferente
Cualquier archivo existente en el directorio de destino será borrado
Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.
| purpose | replace marker with N trailing items |
|---|---|
| input | a list of items |
| suffix | an integer N, defaulting to 1 |
| parameter | marker = the item to be used as a marker |
| output | re-ordered list of items |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]] Last +[replace[Wednesday]]
[list[Days of the Week]] Last +[replace:2[Tuesday]]
[list[Days of the Week]] [[Yesterday]] [[Today]] [[Tomorrow]] +[replace:3[Tuesday]]
You can report bugs or problems with TiddlyWiki via our discussion groups. If you have a GitHub account then you can raise an issue there:
https://github.com/Jermolene/TiddlyWiki5/issues/new
Unless you are already familiar with GitHub, it's usually easiest to report problems through the discussion groups.
We use GitHub Issues to manage bug reports and feature requests for TiddlyWiki. To maintain their effectiveness we endeavour to have as few open issues as possible.
Open issues should be actionable: generally either a reproducible bug report, or a specific feature request. From the perspective of the core developers, the issues list behaves like a shared todo list. Every item on the list requires a little bit of attention each time we check the list.
GitHub Issues are not very good for managing ideas that are not immediately actionable. Better to use the TiddlyWiki discussion groups for open ended questions, or speculative discussions of new features.
Before creating a GitHub issue it is good etiquette to search through the existing issues to see whether the problem has already been reported. If a search isn't practical, don't worry too much; GitHub makes it easy to merge existing issues.
When you do create an issue, remember that for effective debugging, we need as much information as possible. At a minimum, please try to include:
Consider also adding screenshots if it makes things clearer.
There's a lot of good material on the web about bug reports:
The resolvepath macro takes a relative path and an absolute path. It interprets the former relative to the latter, and returns the absolute equivalent of the former.
Folders in the paths are delimited by /.
The special folder name . denotes the current folder, and .. denotes the parent folder.
If the absolute path indicates a folder, it needs to end with /. Anything after the final / is treated as an arbitrary filename within the intended path, and is discarded.
If no absolute path is supplied, the relative path is returned unchanged, except that anything after the final / is discarded.
The return value is a path, but does not end with /.
<<resolvepath "./backup" "http://example.com/store.php">>
<<resolvepath "backup" "http://example.com/store.php">>
<<resolvepath "../backup" "http://example.com/store.php">>
<<resolvepath "../jpg/Motovun_Jack.jpg" "http://example.com/resources/images/png/">>
<<resolvepath "../jpg/../png/Motovun_Jack.png">>
<<resolvepath "jpg/Motovun_Jack.jpg">>
Páginas con recursos creados por la comunidad para ayudarte a sacarle todo el jugo a TiddlyWiki: Plugins, macros, utilidades y mucho más.
Envía más recursos que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo
Implementation of TiddlyWiki Coding Style Guidelines for different IDEs.
A topical index of known plugins, tutorials, themes, and other helpful tools for TiddlyWiki.
https://dynalist.io/d/zUP-nIWu2FFoXH-oM7L7d9DM
Some of the topics indexed so far include:
Timimi is a Web Extension and executable for Firefox, Chrome and Chromium that allows it to save standalone TiddlyWiki files.
https://github.com/ibnishak/Timimi
This is an addon using native messaging, essentially handing over the contents to a webextension host (executable) which does the actual saving. Once installed, you can save the standalone TW from anywhere in your hard drive without any more interactions, like the original Tiddlyfox addon.
TiddlyWiki5 Packaged with the multi-user plugin in a single executable file.
https://github.com/OokTech/TW5-SingleExecutable
Tiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux.
A cross platform server application that can save tiddlers to a local database
https://github.com/opennota/widdly
a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.
Dynamic Tables is a set of macros that allow you to create tables where the rows are created from tiddlers and the columns from the tiddler fields, or where the columns are created from tiddlers and the rows from their fields. Individual cells can be edited on the fly. Row tables can be sorted by columns and column tables can be sorted by rows.
A desktop application for TiddlyWiki, running on Windows.
https://lamusia.github.io/#ATWiki
TiddlyWiki for Windows. A unique non-linear notebook for capturing, organising and sharing complex information.
A terrific demo of drag and drop, pan and zoom, and other sophisticated touch effects. Based on the muuri plugin by Uwe Stuehler.
A collection of plugins from Uwe Stuehler, including:
An extension for Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 fallback saver, making it almost as easy to use as TiddlyFox. The workflow is intended to work out of the box, without configuration.
https://github.com/pmario/file-backups which contains links to the documentation and introduction video(s).
A chrome version is planned!
A Kanban implementation for TiddlyWiki with a familiar look and feel (see the demo).
https://ibnishak.github.io/Tesseract/projects/tekan/Tekan.html
This is Tekan, a TW based kanban. The easiest way to know tekan is to use it. So let us begin, shall we?
An experiment to embed interactive 3D graphics within TiddlyWiki by Jamal Wills. It is based X3DOM, an open source JavaScript library.
An extension to the Node.js configuration of TiddlyWiki that adds support for static attachments and for working with multiple wikis at the same time.
https://github.com/Arlen22/TiddlyServer
TiddlyServer 2.0 takes the server command of TiddlyWiki on NodeJS and adds it to a static file server. This means you can load and serve any TiddlyWiki data folder in the same way you can serve a single file TiddlyWiki.
But you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organize them into virtual folders (aka aliases in Apache and mounts in Express).
The main point, of course, is that you can actually edit your files, not just look at them. Single file TiddlyWikis use the put saver, which needs to be patched using a bookmarklet included on the index page. The instructions for this are below under the heading "One thing that needs to be noted".
And, of course, you can edit data folder tiddlywikis just like you were running node tiddlywiki.js data –server, except that you run it on the path that you found it at (e.g. http://localhost/personal/notes/). You can have as many data folders open as you want, they don't conflict (though they will each take memory).
Data folders store individual tiddlers instead of entire wikis. They take less disk space as they also do not store the core and plugins. This means they also save much quicker, especially over the internet. They also save immediately (within 10 seconds or so) and they save drafts.
An add-on for Google Drive that allows TiddlyWiki files stored there to be opened and saved directly
https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo
I made an app that lets one edit TiddlyWiki files saved in your Google drive and then saving them back automagically. The page is here https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo but I think you need to add it from the Google Drive web interface.
I even added an optional ability to save with ctrl + s hotkeys.
Joshua's launch post
NoteSelf is your personal, private, customizable, Evernote-like experience. You want cloud? Fine! You don't? Fine too! It's all yours, It's your decision! Why not be a bit selfish?
NoteSelf is the perfect place to store your ideas, notes, thoughts, tips, tricks, recipes... whatever you want to put into it! NoteSelf will store, index, and make it easily searchable, so you will find it instantly whenever you need it!
You already know and love Evernote, we know it. It is comfortable, it syncs, has search capabilities... Wow, it's almost perfect, but what about:
- Privacy - Everything is stored on the Evernote's servers!
- Customization - If you don't like the interface of Evernote, there's nothing you can do
NoteSelf is built on top of TiddlyWiki, a powerful, free, highly customizable and open-source personal wiki. We took the best of it, it's powerful customization system, and mixed it with one of the best embedded databases available, PouchDb, for bringing the synchronization capabilities you need.
An extension for Google Chrome and Mozilla Firefox that smoothes out some of the friction from TiddlyWiki's built-in HTML5 fallback saver, making it almost as easy to use as TiddlyFox once it is set up correctly.
A TiddlyWiki plugin for kanban-like organization in the style of Trello™ using boards, lists, and cards.
A plugin to integrate the popular lunr.js search engine, giving TiddlyWiki much more sophisticated search capabilities:
https://hoelz.ro/files/fts.html
Provides an alternative search result list that orders results by search relevance and ignores differences in word forms (ex. tag vs tags).
On my personal wiki, I have the problem that there are terms I use across a lot of tiddlers, and sometimes I'll use different forms (such as the aforementioned tag vs tags). I wanted a plugin to allow me to find the tiddler I'm looking for quickly and didn't require me to worry about how I declined a noun or inflected a verb - so I wrote this plugin, which provides an alternative search list powered by lunr.js.
A plugin that improves the usability of TiddlyWiki on smartphones by JD:
Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki.
http://mathcell.tiddlyspot.com/
Mathcell allows spreadsheet-like abilities in a completely contained TiddlyWiki. Additional abilities allow it work as a general math engine.
A collection of references for testing concepts around TiddlyWiki 5...
This is PMario's playground with ramblings about TiddlyWiki and related stuff.
It basically is a "jump off" page to various TiddlyWiki sites, that show editions, themes and plugins.
The Tinka plugin provides the ability to create and modify plugins in the browser, without requiring the use of Node.js.
See https://github.com/TinkaPlugin/Tinka for the GitHub repo.
https://tinkaplugin.github.io/
This is a Control Panel extension that aims to simplify the plugin creation and editing process. After installing, you will find a new tab in your control panel that makes creating and modifying plugins a little bit easier.
A mapping plugin based on Leaflet library. Allows you to create maps based upon geographical data contained in tiddlers.
http://sycom.github.io/TiddlyWiki-Plugins/#Leaflet%20plugin
The leaflet plugin is a (working) attempt to integrate the leaflet library in TiddlyWiki in order to display geographical purpose tiddlers.
For now
<$leafmap>widget displays an interactive map. Select size, location and zoom, clustering distance, and background. You can display data : geojson, point(s), polygon(s) and/or polyline(s) directly or calling GeoTiddler(s). Tiddler can be called individually, by list or with a filter.Have a look at demo page on the web.
Slides and Stories is a repository of the tools to optimize TW for scientific research and for presenting and publishing results.
http://slidesnstories.tiddlyspot.com
SlidesnStories
...is a tool to save and reload sets of Tiddlers. This is already working, The aim is to develop a mechanism to transform these into instant slideshows.
MetaTabs
is a tool which gives you the possibility to attach and show specific information in tabs at the bottom of each Tiddler: ideas, notes, tasks, stories and presentations, comments, annotations and footnotes.
It is inspired by MagicTabs and Tiddlyscholar by Alberto Molina Pérez, which are very elaborated tools that alas do not seem to be in active development any more. I wanted to change the behaviour in some ways. For example I wanted show tabs only if they have content....furthermore there is
- an export-plugin,
- a footnote-plugin,
- and a plugin to rearrange Tiddlers in the StoryRiver
A Knowledge Network about TiddlyWiki.
http://confocal-manawatu.pbworks.com/w/page/113574373/TiddlyWiki
Interconnected with the visual taxonomy at every node: http://debategraph.org/Stream.aspx?nid=457381&vt=bubble&dc=focus
TWKN will be transferred into TWederation/TiddlyMap format as soon as I am convinced in reliable and secure versioning and multi-user operation in TW format. Your assistance and support would be highly appreciated.
Task & Delegation Tracking, Meetings & Agenda Items, Project Roles, Progress & Status Updates, Reference Items, Tickler Calendar, Conversation Logging, Book Notes & Library, and More!
Cardo is a standalone, browser-based tool that can be used as a simple task manager, or as a complex Project Management system (and indeed, I do use it this way in my daily work) as well as a fully Wiki-ized personal knowledge store. It runs completely independently in the browser, even without an Internet connection, making it possible to carry around on a USB stick, or to use on the morning commute.
An enormous collection of tips beautifully curated by Tobias Beer. It is actually a collection of sites, with sub-sites dedicated to topics such as filtering (http://tobibeer.github.io/tw/filters/).
http://tobibeer.github.io/tb5/
A collection of references and sandbox for testing concepts around TiddlyWiki 5...
TiddlyServer is a special purpose Desktop app, designed to facilitate managing multiple instances of TiddlyWiki running as a server. It does not require internet acess to access the wikis.
https://github.com/mklauber/TiddlyServer/releases/
TiddlyServer can import both TiddlyWiki files and TiddlyFolder wikis. For each wiki, you specify a prefix to serve it with and the source to import from. It will copy the wikis to its own internal store and begin serving them up at http://localhost:8080/{prefix}/. The export button for each wiki will convert it to a single file wiki.
A collection of helpers by Thomas Elmiger, among them a tweet button macro, a text-stretch solution, a snippet extraction macro and a tiddler that installs a scroll-to-top button via drag-and-drop.
Quick Extensions for TiddlyWiki 5 – […] As I take from the community, I am happy if I can give back. You can use my stuff to do whatever you like, but remember to save a back-up first.
Thomas
A TiddlyWiki5 forum on Reddit.
https://www.reddit.com/r/TiddlyWiki5/
A TiddlyWiki5 forum on Reddit. As of 2016, it claims to have the most up-to-date list of plugins available for TW5.
An adaption of the "Ghostwriter" theme for TiddlyWiki.
https://ibnishak.github.io/ghostwriter/
Ghostwriter is a popular, minimalist and mobile responsive theme for the blogging platform ghost. This is an adaptation for TiddlyWiki.
An adaption of the "Moments" theme for TiddlyWiki.
http://tesseractmoments.surge.sh/
Moments is a beautiful free and responsive theme available for wordpress from here: http://www.s5themes.com/theme/moments/. This is an adaptation of the same for TW5 platform. All the design credits goes to the site and the original designer. If TW5 is going to be here for 25 years, might as well suit up.
An explainer about Twederation, a system of sharing information between TiddlyWiki instances.
TWederation is a system for sharing information between participating TiddlyWikis without using a client-server model. The link here points to a tiddler that gives more details. This particular implementation works something like an online forum. On the rest of the site, you can follow discussions by the developers and collaborators occurring within the Twederation "network" itself.
Creates bubble maps of Biblical texts.
http://giffmex.org/gospels.bubbles.html#Gospels%20Bubbles
This TiddlyWiki, which is still under construction, has several features that together make it lightning fast to find passages, types of passages, themes, people, places and images in the New Testament Gospels. The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:
- The bubblemaps are color-coded overviews of each Gospel. Each type of passage (miracle story, parable, etc) was assigned a color. Bubblemaps allow you to do three things:
- See how the different types of passages are distributed throughout each Gospel.
- Hover over passages to see the verses and titles.
- Click on a passage to open it and see the themes and other data it mentions.
- The themes by passage indexes are lists of the passages in each Gospel, followed by the themes and other data found in the passage. Clicking on a theme calls up a list of all the passages that mention that theme.
- The indexes of themes contain lists of links to each theme, person, group, place and image. Clicking on a theme calls up a list of all the passages that mention that theme.
- There is a search window hidden in the right hand menu. Use the search window to find passages quickly, by typing things like sower or paralytic. Click the arrows in the upper right of the screen to open the menu and search.
This wiki gives examples for various filters and their use in the list widget
http://tobibeer.github.io/tw/filters/#Filter%20Examples
This wiki gives examples for various filters and their use in the list widget. A good starting point to understand what filters yield which results also is test-filters.js.
A collection of plugins by Stephen Kimmel, including a number of additional editor toolbar buttons.
http://skplugins.tiddlyspot.com/
In keeping with the general spirit of the TiddlyWiki community, ie, you develop something useful and/or potentially interesting you share it with others, I'm sharing some of the plugins I've developed to go with the new Editor Toolbar. You'll find them and a more extensive discussion of what each does at http://skplugins.tiddlyspot.com/
A collection of extensions by @malgam
http://malsandbox.tiddlyspot.com
The "loadnew" plugin provides the JavaScript module $:/plugins/malgam/loadnew/loadnew.js that implements an incremental load command for Tiddlywiki 5.
The javascript code is based on the built-in module $:/core/modules/commands/load.js that loads tiddlers from a Tiddlywiki file into a node.js Tiddlywiki instance. This command loads all non-system tiddlers, irrespective of whether they have been modified since last loaded. As a result, all tiddlers in the node.js tiddlers folder will end up with a new modification date.
In contrast, the loadnew command only loads tiddlers that either don't already exist in the tiddlers folder, or have a newer modified date than the existing tiddler.
With a backup strategy that uses a file system snapshot process to preserve historical versions of tiddlers, the loadnew command minimises the sizes of the resulting snapshots.
An authentication proxy for your TiddlyWiki.
https://github.com/stevenleeg/twproxy
One of my favorite aspects of TiddlyWiki has been that it's web-based, making it possible for me to access my wiki from everywhere (especially my phone). That being said, I'm a bit paranoid, so I was left a bit unsatisfied with the tiddlywiki server's HTTP basic auth for protecting my wiki. ~23 commits later, I've created something called twproxy that I'd like to share with you all today, as I'm hoping somebody other than myself will find it useful.
Essentially it is a simple proxy that puts your wiki behind a username, password, and optional 2-factor auth prompt. This gives you added security in addition to the ability to remember your credentials past one browsing session (I was getting sick and tired of typing my username/password in over and over using basic auth).
Sublime Text 3 syntax file for TiddlyWiki5 *.tid files.
An extension application for Google Chrome that enables TiddlyWiki to save changes directly to the file system.
Exhaustiva y recomendada serie de tutoriales para empezar a moverte cómodamente con TiddlyWiki. https://www.youtube.com/playlist?list=PLzZCajspPU_UjFn0uy-J9URz0LP4zhxRK
Estos tutoriales están pensados para darte las nociones básicas que te permitan empezar de inmediato a usar TiddlyWiki. Echamos una rápida mirada a la tecnología detrás de TiddlyWiki y a cómo instalarlo y crear tu primer Tiddler.
Edición de una versión anterior de TiddlyWiki, adaptada para la toma rigurosa de notas académicas.
http://tw5.scholars.tiddlyspot.com/
TiddlyWiki for Scholars es una customización personal de TiddlyWiki 5.0.13-beta que hice para tomar notas de lectura, pero que puede servir también a otros fines La idea subyacente en esta adaptación es la de poder crear y mostrar información relacionada con el tiddler que se visualiza, sin tener que salir de él para hacerlo.
An interactive date picker plugin based on Pikaday. A demo can be found here: http://kixam.github.io/TW5-datePicker/.
datepicker is a TiddlyWiki plugin that allows you to use a widget much like EditTextWidget to pick a date, and optionaly a time. It shows a nice interactive mini-calendar when clicked, allows you to set a date format for display, and is compatible with core date fields such as
modifiedandcreated.
The CommunitySearch wiki aggregates many public wikis from the community. It is updated automatically every day. At the time of writing, more than 5000 tiddlers are indexed, thus giving access to the largest known collection of TW content.
It lets you search for some specific content among a preselected list of wikis. The indexed content is mostly focused on TW usage, so you would typically use this search system to find information about a particular aspect of TiddlyWiki. Say for example that you want to learn how to make a table of content, type "table of content" in the CommunitySearch box (also accessible in the default tiddler GettingStarted). The search results are links to various wikis, and point directly to the specific tiddlers containing your request.
The CommunitySearch wiki also lets you:
A catchy jingle for TiddlyWiki.
https://musescore.com/node/796056
Even if it sounds like some ol' jazz tune it IS an original composition and it should be quite obvious that the "hook of the melody" is a trill made by singing Tidd-ly Wiki :-).
My lacking skills for writing text/lyrics should be apparent in the fact that the text consists of 12 Tidd-ly Wikis and some extra "tiddly's" - just for the sake of getting the message delivered ;-)...
I've recorded every instrument on my guitar via a guitar synth on a loop machine (except for the drums - they were played live/in sync with the loop station on a "BeatBuddy" drum pedal..) - no pc was involved..
Featuring plugins that integrate two interesting new capabilities:
I developed some plugins related to engineering tasks.
After using them for personal projects I'm glad to share with TiddlyWiki community.
A plugin that allows to encrypt your tiddlers individually Danielo Rodriguez.
http://danielorodriguez.com/TW5-EncryptTiddlerPlugin/
Advantages:
- You can specify a different password for each tiddler if you want.
- You don't have to encrypt your whole wiky.
- If you forget your password, you only lose a tiddler.
- It's possible to edit the tiddler content , tags and fields except the encrypt field after encryption.
- [...]
A collection of hints and tips, musings and proposals from long-time TiddlyWiki contributor Mat Goldman.
http://twaddle.tiddlyspot.com/
This is Mat's, a.k.a <:-) little man-cave in the TiddlyVerse.
Most TW development is, understandably, based on the premise that "Improve code ➔ Better TW". TWaddle is also about developing TW but from the perspective that Bigger community ⇄ Better TW. Thus, TWaddle looks more to people issues - how to attract them, how to make them stick with TW etc.
I'm not a programmer but I am a TW enthusiast so I tiddlefiddle enough to make the occasional discovery of something cool. Given the amount of words I utter, it is also a mere numbers game before I say something that makes sense. TWaddle is intended to capture these eventualities.
An interactive timeline visualisation plugin based on Vis.js. A demo can be found here: http://kixam.github.io/TW5-visjsTimeline/.
vis.js Timeline is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable timelines. This project is a direct continuation of emkay's plugin.
A simple technique for adding tag-based cross references to the default view template.
See also: - is a feature to generate a "See also:" section after the tiddler text, somewhat like in Wikipedia articles.
A plugin to integrate the Ace editor into TiddlyWiki.
Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).
A plugin that allows changes to be synchronised with the IndexedDB database that is built-in to most browsers.
Being quite new to TW5 development I tried my best to draft a SyncAdaptor to store tiddlers in IndexedDb. This is quite useful if an application / plugin installation is not possible (we have quite some restrictions at work...).
An alternative LaTeX plugin for TiddlyWiki5. It supports a wider set of LaTeX commands than KaTeX, though not as extensive as MathJax
http://tw5-texzilla.tiddlyspot.com
This plugin provides LaTeX support in TiddlyWiki5, using the TeXZilla latex parser to generate MathML.
Only Firefox and Safari support MathML at the moment, so the plugin is only useful if you're using one of these browsers. It might be possible to combine this plugin with MathJax to convert MathML to something that other browsers can understand, e.g. HTML+CSS, but I haven't tried this.
An adaptation of the TiddlyWiki powered GTD® system formerly known as MonkeyGTD for TiddlyWiki version 5.
GSD5 is a Getting-Thing-Done tool for TiddlyWiki5 based off the mGSD classic TiddlyWiki.
A guide in Russian to creating an online shop with TiddlyWiki. No serverside code is needed, instead orders are handled by Disqus.
An extensive collection of hints and tips from Jed Carty.
http://inmysocks.tiddlyspot.com
I made this so that some of my friends with absolutely no coding experience could use some of the better features of TW5 without having to learn much. I am hopefully going to continue updating it as I learn new things. There isn't really anything here that isn't available in plenty of other places, but I figured that since I spent a while putting it together and people keep saying that TW needs more documentation I would post it here.
An interactive network visualisation plugin based on Vis.js. A demo that also contains installation instructions can be found here: http://tiddlymap.org. The plugin's GitHub repository can be found here.
TiddlyMap is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable graphs. By creating relations between your topics you can easily do the following:
- Create concept maps and quickly manifest your ideas in tiddlers.
- Create task-dependency graphs to organize and describe your tasks.
- Visualize your topic structures to get an immediate grasp of topics and relations.
In general you may create, visualize and describe any network-structure you have in mind.
A collection of tips and guides in French, introduced by this blog post:
http://sylvain.naud.in/post/2014/10/29/Ressources-pour-TiddlyWiki-5-%28FR%29
Ce guide de prise en main de TiddlyWiki vous permettra de débuter sur ce logiciel : rédiger du texte avec la syntaxe wiki, insérer des images, créer des Tiddler, faire une recherche, ajouter des fonctionnalités, et bien d'autres choses.. Bonne lecture ! Sylvain
An extensive collection of tips and resources for users of TiddlyWiki in Japanese.
http://bacchus.ivory.ne.jp/bourbon/
TiddlyWikiをHTML5にしたTiddlyWiki5が正式にリリースされました。このTiddlyWiki5の使い方について、自分で試した機能を中心に解説します。
TiddlyWiki5は、非常に多機能なローカルWikiです。このブログに書いてあることは、TiddlyWiki5で出来ることのごく一部です。
A wealth of hints, tips and notes about using TiddlyWiki on Node.js:
http://larigot.avarts.ionio.gr/users/iani/wikis/tw5square.html
TiddlyWiki is different from other wikis because of its principle of dynamically customizeable "storyline" based on tiddlers as basic units of information. That is, the user "composes" their own version of the webpage by clicking on tiddler links, which add tiddlers to the page in order to compose a storyline.
The Node.js implementation in TiddlyWiki5 adds all the advantages of flat-file markup language based type of site. This makes TiddlyWiki an excellent alternative to flat-file based CMS/webpage/blog authoring systems for the web.
Also very cool is the treatment of tags as menus everywhere.
An adaptor to enable TiddlyWiki to sync changes with a CouchDB database.
https://github.com/wshallum/couchadaptor
CouchDB sync adaptor for TiddlyWiki 5. Requires TiddlyWiki >= 5.1.2.
Works in limited testing. Not sure how well it handles conflicts.
I collect my tw5 creations on-line as http://eucaly-tw5.tiddlyspot.com/
Available Plugins :
BuggyJay's TiddlyClip browser extension for Firefox permits clipping of text and graphics from web pages:
http://tiddlyclip.tiddlyspot.com
TiddlyClip allows parts of webpages to be clipped into a TiddlyWiki, and consists of two parts, the browser addon and the TiddlyWiki plugin. The addon is completely memoryless, any configuration is determined by the current TiddlyWiki that the user has select to work with (we say that the addon is docked to the TiddlyWiki). TiddlyClip is designed to work (in a basic mode) without configuration. Once the addon and plugin are installed, all the user has to do is select which TW to dock to.
A collection of plugins from TheDiveO.
TheDiveO's Third Flow plugin construction system:
The ThirdFlow plugin brings to you another way to develop customization plugins for TiddlyWiki 5. It is not enforcing a specific development flow, it simply tries to help you. Otherwise, it tries to stay out of your way.
TheDiveO's FontAwesome plugin:
The FontAwesome plugin supports embedding Font Awesome in TiddlyWiki 5. There is no need to install this font into your operating system in order to use it with TiddlyWiki 5. The font is already embedded in this TiddlyWiki 5 customization plugin instead, so nothing else to install.
Matabele's stylish and clean system for personal task management.
This is my work in progress version of TW5, incorporating various features and ideas as and when they intrigue me. To grab any feature you may wish to try, drag the listed tiddlers across to the dropzone of an empty TiddlyWiki 5.0.10-beta
A collection of TiddlyWiki resources from Mario Pietsch, with a focus on cloud deployments. Mario also maintains the German translation of TiddlyWiki.
My name is Mario Pietsch from Austria. I'm living near Salzburg.
This page, will be the portal to my TiddlyWiki, TiddlyWeb related content.
An experimental MathJax plugin for TiddlyWiki version 5. As Martin says, the implementation is a bit of a hack but may be useful until we have a better alternative.
http://mathjax-tw5.kantorsite.net
Welcome. I have created plugin for TiddlyWiki 5 which allows you to use MathJax (math in TeX and MathML) inside TiddlyWiki 5. It's unofficial plugin and it doesn't follow general policy of TiddlyWiki as stand-alone solution but it works. So you can use it if you want.
Notes and tips by a developer working on writing TiddlyWiki plugins – including TWExe, a widget for running Windows scripts and executables.
A translation of the tiddlywiki.com documentation from Bram Chen, TiddlyWiki's Chinese translator.
Stephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.
http://tw5magick.tiddlyspot.com/
Some things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the "magic" tricks one can do with TiddlyWiki.
Chris Hunt's detailed developer tutorials for getting started with writing widgets for TiddlyWiki.
These pages document aspects TiddlyWiki5 programming, sharing "lessons learned" to help developers to get started with TiddlyWiki5 customization and extension.
There are currently two articles in this wiki:
- A Simple Widget
- A More Complex Widget
Tony Ching's quick guide for sharing TiddlyWiki with Google Drive.
https://googledrive.com/host/0B51gSXixfJ2Qb0I4R2M4MWJVMlU
Anyway your self-contained a non-linear personal web notebook can be hosted on Google Drive, a free cloud service from Google.com. Because TiddlyWiki5 now supports the Stanford Javascript Crypto Library (SJCL), you can encrypt your content from prying eyes (excluding the NSA of course)
buggyj has created several useful plugins, including a WYSIWYG HTML editor, a configurable calendar and tag lists with draggable ordering.
Huge collection of customisations and tweaks from Ton Gerner.
http://tongerner.tiddlyspot.com/
I am a longtime user of TiddlyWiki Classic and still use it daily since you can't do everything in TiddlyWiki 5 (yet) ;)
I started experimenting with TW5 at the end of September 2013 (alpha10). Since I missed a few things in the layout I got used to in TiddlyWiki Classic 1, I started with modifying the layout of TW5. To share my knowledge, I made a few guides about these 'modifications'. The guides started as a non-linear personal web notebook (yeah, the subtitle of TiddlyWiki!). I started experimenting with layout things and used TW5 to document my experiments.
A collection of customisations and macros from Danielo Rodriguez.
http://braintest.tiddlyspot.com/
This is my personal tiddlywiki file for testing.
Here I will post the tools and Macros that I develop for this awesome tool. That way, all the help the comunity gave me can came back to the comunity again.
A collection of articles covering integration with Fargo, Font Awesome and Google Calendar, and tips for managing task lists.
http://blog.jeffreykishner.com/tiddlywiki/
I have become a regular user of TiddlyWiki and have become so accustomed to using Font Awesome icons in Fargo that I wanted to incorporate the icons into my wikis as well.
| purpose | discard the first N input titles |
|---|---|
| input | a selection of titles |
| parameter | N = an integer, defaulting to 1 |
| output | all but the first N input titles |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]rest[]]
[list[Days of the Week]rest[3]]
Z Y X W V U T S R Q P O +[rest[5]]
El Editor de currículum es una edición especial de ~Tiddlywiki concebida para la creación de manera sencilla de un currículum profesional que se puede imprimir o guardar en la web.
https://tiddlywiki.com/editions/resumebuilder/
(En inglés. Está en preparación la edición en castellano)
The reveal widget hides or shows its content depending upon the value of a state tiddler. The type of the widget determines the condition for the content being displayed:
The content of the <$reveal> widget is displayed according to the rules given above.
| Attribute | Description |
|---|---|
| state | A TextReference containing the state |
| stateTitle | A title containing the state, without TextReference. Gets preferred over the state attribute |
| stateField | A field name which is used to look for the state, if the attribute stateTitle is present |
| stateIndex | An index which is used to look for the state, if the attribute stateTitle is present |
| tag | Overrides the default HTML element tag (<div> in block mode or <span> in inline mode) |
| type | The type of matching performed: match, nomatch, popup, lt, gt, lteq or gteq |
| text | The text to match when the type is match, nomatch, lt, gt, lteq or gteq |
| class | An optional CSS class name to be assigned to the HTML element » Set to tc-popup-keep to make a popup "sticky", so it won't close when you click inside of it |
| style | An optional CSS style attribute to be assigned to the HTML element |
| position | The position used for the popup when the type is popup. Can be left, above, aboveright, right, belowleft or below |
| default | Default value to use when the state tiddler is missing |
| animate | Set to "yes" to animate opening and closure (defaults to "no") |
| retain | Set to "yes" to force the content to be retained even when hidden (defaults to "no") |
Here's a simple example of showing and hiding content with buttons:
<$button set="$:/state/SampleReveal1" setTo="show">Show me</$button>
<$button set="$:/state/SampleReveal1" setTo="hide">Hide me</$button>
<$reveal type="match" state="$:/state/SampleReveal1" text="show">
! This is the revealed content
And this is some text
</$reveal>Este es su aspecto:
An "accordion" or "slider" is a button that can be used to toggle the display of associated content.
<$reveal type="nomatch" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="show">Show me</$button>
</$reveal>
<$reveal type="match" state="$:/state/SampleReveal2" text="show">
<$button set="$:/state/SampleReveal2" setTo="hide">Hide me</$button>
! This is the revealed content
And this is some text
</$reveal>Este es su aspecto:
Here is a simple example of a popup built with the RevealWidget:
<$button popup="$:/SamplePopupState">Pop me up!</$button>
<$reveal type="popup" state="$:/SamplePopupState">
<div class="tc-drop-down">
! This is the popup
And this is some text
</div>
</$reveal>Este es su aspecto:
Here is a simple example how to use text references with field content to control the RevealWidget. If the field jeremy is populated with text tiddlywiki, a message will be displayed.
<$reveal type="match" state="!!jeremy" text="tiddlywiki">
~TiddlyWiki!
</$reveal>Este es su aspecto:
TiddlyWiki!
| purpose | reverse the order of the input titles |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | the input, in reverse order |
There are still some areas of TiddlyWiki that have not been fully developed beyond the experimental stage:
Also see the issues list on GitHub: https://github.com/Jermolene/TiddlyWiki5
El modo seguro desactiva la mayoría de customizaciones en TiddlyWiki en caso de que, a fuerza de adaptaciones sucesivas, dejen de funcionar correctamente. Un caso frecuente es el de la actualización del núcleo, que muchas veces "rompe" las customizaciones del usuario, especialmente en versiones Beta.
Modo seguro se activa al arrancar TiddlyWiki con el hash #:safe.
Activar modo seguro produce los siguientes cambios en el funcionamiento de TiddlyWiki:
SAFE:, lo que restaura los originalesSe muestra un informe de los tiddlers modificados por el usuario, de modo que pueden inspeccionarse en busca de fallos.
| purpose | filter the input by date |
|---|---|
| input | a selection of titles |
| suffix | F = the name of a date field, defaulting to modified |
| parameter | D = a date, in the format YYYYMMDD |
| output | those input tiddlers in which field F has the value D, ignoring time |
If D is not a valid date, the output is empty.
D may include a time of day, but this is ignored.
[sameday[20140410]]
[sameday:created[20140410]]
This is a paragraph.
Esta es una alerta de demostración.
Pinchando en el icono del cubo de basura se borra el tiddler que la contiene. Otra forma de librarse de ella es editar el tiddler Alerta de demostración y quitarle la etiqueta.
Saves individual tiddlers identified by a filter in their raw text or binary format to the specified files.
--save <tiddler-filter> <filename-filter>[is[tiddler]], which uses the unchanged tiddler title as the filenameBy default, the filename is resolved relative to the output subdirectory of the edition directory. The --output command can be used to direct output to a different directory.
Notes:
--save "[[Motovun Jack.jpg]]"[encodeuricomponent[]addprefix[static/]] applies URI encoding to each title, and then adds the prefix static/--save command is a more flexible replacement for both the --savetiddler and --savetiddlers commands, which are deprecatedExamples:
--save "[!is[system]is[image]]" "[encodeuricomponent[]addprefix[tiddlers/]]" – saves all non-system image tiddlers as files in the subdirectory "tiddlers" with URL-encoded titlesGuarda un tiddler individual en formato binario o como texto plano con el nombre de archivo especificado.
--savetiddler <title> <filename>Por defecto, la ruta es relativa al subdirectorio output del directorio del wiki
Puede usarse con el comando --output para dirigir la salida a un directorio diferente
Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.
Guarda un grupo de tiddlers en formato binario o como texto plano en el directorio especificado.
--savetiddlers <filter> <pathname>Por defecto, la ruta es relativa al subdirectorio output del directorio del wiki
Puede usarse con el comando --output para dirigir la salida a un directorio diferente
Los directorios no existentes en la ruta del nombre de archivo se crean automáticamente.
This plugin causes TiddlyWiki to continuously download (as a JSON file) the contents of any tiddler that is manually changed by any of several means:
Where appropriate, separate 'before' and 'after' files are downloaded. Configured correctly, the browser will download the files silently in the background, and they can be used as a backup in case of accidental data loss.
Métodos disponibles para guardar cambios en TiddlyWiki
El módulo incorporado de guardado en TiddlySpot también puede usarse para guardar cambios en un sencillo script de PHP que puede ejecutarse en la mayoría de proveedores.
$USERS = array( 'UserName1'=>'Password1'...etc y sustituye Username1 y Password1 por los tuyos, respectivamenteLa pestaña Servidor del panel de control incluye las siguientes opciones de configuración:
| Nombre | Descripción |
|---|---|
| Dirección (URL) del servidor | URL completa del archivo store.php en el servidor |
| Nombre de archivo | Nombre de archivo usado para guardar el TiddlyWiki (por defecto index.html |
| Directorio de almacenamiento | Ruta relativa al archivo store.php del directorio usado para guardar el wiki |
| Directorio de copias de seguridad | Ruta relativa al archivo store.php del directorio donde se guarda la copia de seguridad del wiki. |
La aplicación para dispositivos Android AndTidWiki permite editar y guardar cambios en TiddlyWiki5, incluso al trabajar offline, sin conexión de red.
Nota: AndTidWiki es un proyecto independiente de TiddlyWiki
New in: 5.1.14 TiddlyWiki incorporates a saver module that allows it to save changes directly with the Beaker Browser, an experimental peer-to-peer browser.
At this point, the wiki is entirely private, and other users cannot see the content even if they have the URL. To share the wiki with other users:
Por defecto, TiddlyWiki guarda los cambios en InternetExplorer 10 y superiores usando un módulo de guardado que descarga el archivo modificado en vez de guardarlo directamente. Hay dos alternativas para guardar los cambios directamente en el archivo:
*.html por *.htaLa aplicación para iPad e iPhone TWEdit permite editar y guardar cambios en TiddlyWiki5, incluso cuando se trabaja offline, sin conexión de red. Descárgala aquí.
Instrucciones de uso:
https://tiddlywiki.com/languages/es-ES/empty.html.html)Nota: TWEdit es un proyecto independiente de TiddlyWiki
Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado.
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmSee the Introducing TiddlyDesktop Video
TiddlySpot es un servicio de alojamiento gratuito para documentos de TiddlyWiki hecho por Simon y Daniel Baird. La manera más sencilla de empezar a usarlo es registrarse en http://tiddlyspot.com. Por defecto muestra la última versión de TiddlyWiki Classic, pero es totalmente compatible con TW5
Puedes subir un documento de TiddlyWiki5 a TiddlySpot siguiendo estos pasos:
Ten en cuenta que la contraseña se envía sin encriptar. Más información en http://faq.tiddlyspot.com/:
¿Es seguro TiddlySpot?
No. TiddlySpot no usa SSL/https. Tu contraseña se envía sin encriptar al guardar y al identificarte en un sitio privado. Esto significa que tu sitio en TiddlySpot es vulnerable al sniffing de paquetes y que tu contraseña puede ser vista por terceras partes malintencionadas. Los datos de tu sitio en TiddlySpot también se envían sin encriptar cuando accedes a tu sitio, aunque sea privado. Por este motivo te recomendamos que no incluyas en TiddlySpot información sensible como detalles bancarios y que no uses contraseñas que ya tengas en uso en otros sitios seguros.
Si usas Firefox, es más que probable que tropieces con este error al intentar guardar tu wiki en TiddlySpot:
Error while saving:
Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
La operación de guardado falla por restricciones de seguridad de Firefox y está fuera de nuestro alcance. Hasta que se resuelva, nuestro consejo es que para guardar en TiddlySpot uses otro navegador, por ejemplo, Chromium:
This is a minimal server using Ruby Webrick. It just serves up files from the same folder and handles saving.
Once running, just point your web browser at http://localhost:8000 to view the folder listing, and click on your wiki html file.
See the script at:
https://gist.github.com/jimfoltz/ee791c1bdd30ce137bc23cce826096da
If hosted on a WebDAV-enabled server, TiddlyWiki will automatically save changes via HTTP.
Many NAS or Subversion servers support WebDAV out of the box. Setting up your own server might take some effort though:
dav-server is a quick way to serve up a folder of HTML TiddlyWikis.
webdav server for Android lets you put wikis in your pocket. You can share with other devices on the local network too.
WebDAV support was added Feb 16 2016. If you created your wiki before that, you'll need to Upgrade to enable WebDAV.
Mario Pietsch did create several videos, that show, how to prepare Microsoft Internet Information Service (IIS) to host a local TiddlyWiki using WebDav
Several WebDAV hosting services tested (box.com, swissdisk.com) don't support accessing HTML files via a webbrowser, so they won't work with TiddlyWiki. However, The GMX mediacenter (www.gmx.net) has been reported as working with WebDAV with a free account.
Este método para guardar cambios es un poco rudimentario porque requiere intervención manual para cada acción de guardado. Tiene, sin embargo, la ventaja de que funciona en casi todos los navegadores de escritorio y en muchos navegadores móviles.
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmConsejo: la mayoría de navegadores permiten la opción de especificar la localización de cada descarga, en lugar de descargar a la carpeta por defecto. Esta opción te permite "planchar" tu archivo con la nueva versión.
Si usas Firefox para Android, las instrucciones que necesitas son estas.
.html o .htmTambién puedes consultar el video tutorial
Para guardar el enlace, mantenlo presionado y selecciona "Save link" (asegúrate de tener instalada la extensión "save-link-menus")
Puede que también te pida activar Microsoft Script Runtime
Si el botón no funciona, guarda este enlace: https://tiddlywiki.com/languages/es-ES/empty.html
Seguramente el navegador te pida que confirmes la descarga
.html o .htmThe SavingMechanism is the mechanism by which TiddlyWiki generates a new HTML file and stores it. It is different from the sync mechanism, which is concerned with synchronising changes to individual tiddlers back to a server (see https://tiddlywiki.com/dev/#SyncAdaptorModules for more details).
The following steps are involved:
$:/core/templates/tiddlywiki5.html$(publishFilter)$ that allows the filter to be customised via a global variablePuedes sentirte tentado de pensar que la arquitectura de página única de TiddlyWiki lo hace inadecuado para grandes cantidades de datos. La verdad es que los usuarios de TiddlyWiki suelen trabajar sin problemas con archivos de 20 ó 30 Mb... y se han hecho experimentos satisfactorios con archivos de varios Gb.
The TiddlyWiki5 repository contains several scripts in the bin folder that you can use to automate common tasks, or as a useful starting point for your own scripts. See Scripts for building tiddlywiki.com for details of the scripts used to build and release https://tiddlywiki.com/.
All the scripts expect to be run from the root folder of the repository.
serve: serves tw5.com./bin/serve.sh -h
./bin/serve.sh [edition dir] [username] [password] [host] [port]Or:
./bin/serve.cmd -h
./bin/serve.cmd [edition dir] [username] [password] [host] [port]This script starts TiddlyWiki5 running as an HTTP server, defaulting to the content from the tw5.com-server edition. By default, the Node.js serves on port 8080. If the optional username parameter is provided, it is used for signing edits. If the password is provided then HTTP basic authentication is used. Run the script with the -h parameter to see online help.
To experiment with this configuration, run the script and then visit http://127.0.0.1:8080 in a browser.
Changes made in the browser propagate to the server over HTTP (use the browser developer console to see these requests). The server then syncs changes to the file system (and logs each change to the screen).
test: build and run testsThis script runs the test edition of TiddlyWiki on the server to perform the server-side tests and to build test.html for running the tests in the browser.
lazy: serves tw5.com with lazily loaded images./bin/lazy.sh <username> [<password>]Or:
./bin/lazy.cmd <username> [<password>]This script serves the tw5.com-server edition content with LazyLoading applied to images.
2bld: builds TiddlyWiki 2.6.5This script builds TiddlyWiki 2.6.5 from the original source and then displays the differences between them (diff is used for *nix, fc for Windows).
The scrollable widget wraps its content in a scrollable frame. The user can scroll the contents with the mouse or with touch gestures. Code can use the WidgetMessage: tm-scroll to programmatically scroll specific DOM nodes into view.
The content of the <$scrollable> widget is displayed within a pair of wrapper DIVs. If the inner DIV is larger then it scrolls within the outer one. CSS is used to specify the size of the outer wrapper.
| Attribute | Description |
|---|---|
| class | The CSS class(es) to be applied to the outer DIV |
| fallthrough | See below |
If a scrollable widget can't handle the tm-scroll message because the inner DIV fits within the outer DIV, then by default the message falls through to the parent widget. Setting the fallthrough attribute to no prevents this behaviour.
This example requires the following CSS definitions from $:/_tw5.com-styles:
.tc-scrollable-demo {
border: 1px solid <<colour message-border>>;
background-color: <<colour message-background>>;
padding: 1em;
height: 400px;
position: relative;
}This wiki text shows how to display a list within the scrollable widget:
<$scrollable class='tc-scrollable-demo'>
<$list filter='[!is[system]]'>
<$view field='title'/>: <$list filter='[all[current]links[]sort[title]]' storyview='pop'>
<$link><$view field='title'/></$link>
</$list>
</$list>
</$scrollable>
Este es su aspecto:
AllTiddlers:
License: $:/core/copyright.txt ShadowTiddlers TiddlyWiki
TableOfContents:
About:
Acknowledgements: Community TiddlyWiki
Contributors:
Developers: TiddlyWiki
History of TiddlyWiki: ActiveX BT GTDTiddlyWiki JavaScript JeremyRuston LifeHacker Osmosoft SocialText TiddlySpace TiddlyWeb TiddlyWiki TiddlyWiki5 UnaMesa
Philosophy of Tiddlers: Structuring TiddlyWiki Tiddlers TiddlyWiki
BuildCommand: TiddlyWikiFolders
ClearPasswordCommand:
Commands: TiddlyWiki on Node.js
EditionsCommand:
FetchCommand:
HelpCommand:
ImportCommand:
InitCommand: Environment Variables on Node.js
ListenCommand: TiddlyWiki WebServer
LoadCommand:
MakeLibraryCommand: UpgradeMechanism
NamedCommandParameters: Commands TiddlyWiki
OutputCommand:
PasswordCommand:
RenderCommand:
RenderTiddlerCommand:
RenderTiddlersCommand:
SaveCommand:
SaveTiddlerCommand:
SaveTiddlersCommand:
ServerCommand: ListenCommand TiddlyWiki WebServer
SetFieldCommand:
UnpackPluginCommand:
VerboseCommand:
VersionCommand:
Articles:
Community: TiddlyWiki
Contributing: HelpingTiddlyWiki Improving TiddlyWiki Documentation ReportingBugs TiddlyWiki
Contributor License Agreement: TiddlyWiki TiddlyWiki5 UnaMesa
Examples:
Forums: http://groups.google.com/group/TiddlyWiki GitHub TiddlyDesktop TiddlyFox TiddlyWiki TiddlyWiki Hangouts
HelpingTiddlyWiki: Contributing GitHub OpenSource TiddlyWiki
Improving TiddlyWiki Documentation: Contributor License Agreement Documentation Style Guide TiddlyWiki
Latest:
Meetups: OXTWIG TiddlyWiki TiddlyWiki Camp Paris
OXTWIG: TiddlyWiki
ReportingBugs: Forums GitHub TiddlyWiki
Resources: Community
Signing the Contributor License Agreement: GitHub
TiddlyWiki Camp Paris: TiddlyWiki
TiddlyWiki Hangouts: TiddlyWiki
TiddlyWiki European Meetup 2016:
TiddlyWiki European Meetup 2017: TiddlyWiki
Translate TiddlyWiki into your language: GitHub TiddlyWiki
Tutorials:
"A free, open source wiki revisited" by Mark Gibbs, NetworkWorld: TiddlyWiki
"Notizen mit TiddlyWiki systemübergreifend nutzen" by Michael Sonntag: TiddlyWiki
"Setting Up a Personal TiddlyWiki Server on OS X" by Kris Johnson: TiddlyWiki TiddlyWiki on Node.js
"TiddlyWiki 5 im Betatest" by besim: JavaScript TiddlyWiki TiddlyWiki5 TiddlyWikiClassic
"TiddlyWiki" by Sander de Boer: JavaScript NoScript TiddlyWiki
"A Thesis Notebook" by Alberto Molina: TiddlyWiki
Interactive Git Documentation by Devin Weaver:
Obadiah TOC:
PESpot Lesson Planner by Patrick Detzner: TiddlyWiki
"PETTIL - Forth for the Commodore PET" by Charlie Hitselberger:
Simple Zork-like Game by Jed Carty: JavaScript TiddlyWiki
TriTarget.org by Devin Weaver: TiddlyWiki TriTarget
Ace Editor Plugin by Joerg Plewe: IndexedDb SyncAdaptor TiddlyWiki
"BJTools" by buggyj:
"BrainTest - tools for a digital brain" by Danielo Rodriguez:
Code styles and auto format settings for IDEs: TiddlyWiki
"CouchDB Adaptor" by William Shallum: CouchDB TiddlyWiki
"Encrypt single tiddler plugin" by Danielo Rodriguez:
Eucaly's Tiddly World: FieldFilter FlexWidth MatchFilter MonkeyTaggerMacro PopupTagger QuickJump TagBar TagTable TiddlyWiki TitleMe
"Filter Examples" by Tobias Beer: Filters ListWidget
Full Text Search Plugin by Rob Hoelz: TiddlyWiki
"GSD5" by Roma Hicks: TiddlyWiki TiddlyWiki5
"Gospel Bubbles" by Rev. David Gifford:
"Heeg.ru" by sini-Kit: TiddlyWiki
"Hosting TiddlyWiki5 on GoogleDrive" by Tony Ching: TiddlyWiki TiddlyWiki5
"How Does Twederation Work" by Jed Carty: TiddlyWiki
IndexedDB Plugin by Andreas Abeck: IndexedDB IndexedDb SyncAdaptor
Leaflet maps plugin by Sylvain Comte: Filters GeoTiddler TiddlyWiki
MathJax Plugin by Martin Kantor: MathJax MathML TeX TiddlyWiki
Plugins by TheDiveO: FontAwesome TheDiveO TiddlyWiki
Plugins by Uwe Stuehler: TiddlyWiki
SeeAlso by Matias Goldman:
"TB5 - a pocket full of tips" by Tobias Beer: TiddlyWiki
"TW5 Magick" by Stephan Hradek: TiddlyWiki
TW5-SingleExecutable by Jed Carty: TiddlyWiki5
TWCommunitySearch: TiddlyWiki
TWaddle by Matias Goldman: Bigger community ⇄ Better TW TiddlyWiki
TiddlyChrome by Arlen Beiler: TiddlyWiki
TiddlyClip by buggyjay: BuggyJay Firefox TiddlyClip TiddlyWiki
TiddlyDrive Add-on for Google Drive by Joshua Stubbs: TiddlyWiki
TiddlyMap Plugin by Felix Küppers: GitHub TiddlyWiki
TiddlyServer by Arlen Beiler: NodeJS TiddlyServer TiddlyWiki TiddlyWikis
TiddlyWiki Jingle by Måns Mårtensson: TiddlyWiki
"TiddlyWiki Notes" by James Anderson: TiddlyWiki
"TiddlyWiki Posts" by Jeffrey Kishner: TiddlyWiki
TiddlyWiki Video Tutorials by Francis Meetze: TiddlyWiki
TiddlyWiki extensions for Sublime Text 3 by roma0104: TiddlyWiki5
TiddlyWiki extensions for ViM: TiddlyWiki5
"TiddlyWiki for Scholars" by Alberto Molina: TiddlyWiki
"TiddlyWiki guide FR" by Sylvain Naudin: TiddlyWiki
"TiddlyWiki 舞" by Bram Chen: TiddlyWiki
"TiddlyWiki5 Coding" by Chris Hunt: TiddlyWiki TiddlyWiki5
"TiddlyWiki5 Playground" by Ton Gerner: TiddlyWiki
"TiddlyWiki5^2 documenting while learning TiddlyWiki5" by Iannis Zannos: TiddlyWiki TiddlyWiki on Node.js TiddlyWiki5
Tinka by Andreas Hahn: GitHub
Widdly by Opennota: TiddlyWiki
"Wikilabs" by PMario:
"Wills Q&D gTD" by Matabele: TiddlyWiki
"ATWiki" by Lamusia Project: TiddlyWiki
"Cardo - Task and Project Management Wiki" by David Szego:
"Dropboard" by Reid Gould: TiddlyWiki
"Dynamic Tables" by Jed Carty:
"Ghostwriter theme by Rory Gibson" adapted for TW5 by Riz:
"Hacks" by Thomas Elmiger:
"In My Socks" by Jed Carty:
"JD Mobile Layout plugin" by JD: TiddlyWiki
"Lucky Sushi" online shop by sini-Kit:
"Mal's Sandbox" by Mal: $:/core/modules/commands/load.js $:/plugins/malgam/loadnew/loadnew.js JavaScript
"MathCell" by Stephen Kimmel: TiddlyWiki
"Moments: A little color won't hurt" by Riz:
"Noteself" by Danielo Rodríguez:
"SK Plugins" by Stephen Kimmel: TiddlyWiki
"Slides and Stories" by Jan:
"TW5-TeXZilla" plugin by Joe Renes: KaTeX Plugin LaTeX MathJax MathML TiddlyWiki5
"TWeb.at" by Mario Pietsch: TiddlyWeb TiddlyWiki
"Tekan: Kanban that stays with you" by Riz: TiddlyWiki
"TiddlyServer" by Matt Lauber: TiddlyFolder TiddlyServer TiddlyWiki
"TiddlyWiki Knowledge Network" by Dmitry Sokolov:
"TiddlyWiki Toolmap" by David Gifford: TiddlyWiki TiddlyWikis
"TiddlyWiki5 Bourbon" by mkt_memory: TiddlyWiki TiddlyWiki5
"TiddlyWiki5 Forum on Reddit" by Riz: TiddlyWiki5
"Timimi" Extension and executable by Riz:
"X3DOM for TiddlyWiki 5" by Jamal Wills: JavaScript TiddlyWiki
"file-backups" Extension for Firefox by pmario: Saving with the HTML5 fallback saver
"muritest" by Simon Huber: Plugins by Uwe Stuehler
"savetiddlers" Extension for Chrome and Firefox by buggyj: Saving with the HTML5 fallback saver TiddlyFox TiddlyWiki
datepicker plugin based on Pikaday, by kixam: EditTextWidget TiddlyWiki
rboue's plugins for TiddlyWiki: TiddlyWiki
twproxy by Steve Gattuso: TiddlyWiki
vis.js Timeline by emkay, revived by kixam: TiddlyWiki
"Creating a baby journal with TiddlyWiki 5" from A Penguin in Redmond: TiddlyWiki
"Install and run TiddlyWiki on a CentOS 6 VPS using Nginx" from RoseHosting: TiddlyWiki
"Microblogging con Tiddlywiki" by Juan: TiddlyWiki
"デザイン刷新。次の25年を目指すTiddlyWiki" by Moongift: TiddlyWiki
"Shining Ark Using TiddlyWiki" by Helu: TiddlyWiki
"TW5 Tribal Knowledge" from Scott Kingery: TiddlyWiki
"Un wiki sur votre BiblioBox avec TiddlyWiki" from A Penguin in Redmond: BiblioBox TiddlyWiki
ColourPalettes: CSS DataTiddlers
Concepts:
Current Tiddler: storyTiddler Variable TemplateTiddlers WikiText
DataTiddlers: DictionaryTiddlers JSONTiddlers TextReference
Date Fields: DateFormat TiddlerFields
DefaultTiddlers: $:/ControlPanel $:/DefaultTiddlers Filter Expression PermaLinks Story River
DictionaryTiddlers: ColourPalettes ContentType DataTiddlers
Dominant Append: Filters Title Selection
ExternalImages: $:/core/templates/canonical-uri-external-image WikiFolders
Filters: $:/AdvancedSearch CountWidget Filter Operators Filter Syntax Introduction to filter notation ListWidget Title Selection
Hard and Soft Links: Macros Transclusion Variables WikiText
InfoPanel: GitHub InfoPanel ShadowTiddlers TiddlerFields TiddlyWiki Using links to navigate between tiddlers
JSONTiddlers: $:/HistoryList ContentType DataTiddlers JavaScript Object Notation
Keyboard Shortcut Tiddler: $:/ControlPanel Keyboard Shortcut Descriptor KeyboardShortcuts
Macros: Core Macros Linking in WikiText Macros in WikiText Pragma Transclusion Transclusion and Substitution Variables Widgets WikiText
Messages:
ModuleType: Modules
Modules: $:/ControlPanel JavaScript ModuleType TiddlyWiki5
Order of Tagged Tiddlers: TagTiddlers Title List
PermaLinks: Filters StoryRiver
Railroad Diagrams: Railroad Plugin
Selection Constructors: Filter Operators Filter Step Title Selection
ShadowTiddlers: Plugins ShadowTiddlers
Story River: Tiddlers
SystemTags:
SystemTiddlers: TiddlyWiki
TagTiddlers: InfoPanel
TemplateTiddlers: Current Tiddler TiddlyWiki Transclusion Transclusion with Templates ViewTemplate WikiText
TextReference: Current Tiddler DataTiddlers Filter Parameter Filters HTML in WikiText LinkCatcherWidget RevealWidget TextReference TiddlerFields
TiddlerFields: $:/ControlPanel BagField CaptionField ClassField ColorField CreatedField CreatorField DescriptionField DraftOfField DraftTitleField FooterField IconField LibraryField ListAfterField ListBeforeField ListField ModifiedField ModifierField NameField PluginPriorityField PluginTypeField RevisionField SourceField SubtitleField TagsField TextField TiddlerFields Tiddlers TiddlyWebAdaptor TitleField TypeField
TiddlerLinks: $:/core/copyright.txt $:/SiteTitle ATiddlerThatDoesntExist Filters InfoPanel StoryView TiddlerLinks TiddlyWiki5
Tiddlers: JavaScript TiddlerFields TiddlyWiki
TiddlyWiki: Community JeremyRuston ListField Macros OpenSource Philosophy of Tiddlers Structuring TiddlyWiki Tagging TiddlerLinks Tiddlers WikiText
TiddlyWiki5: JavaScript Node.js TiddlyWiki TiddlyWiki5
TiddlyWikiFolders: BuildCommand Customizing Tiddler File Naming PluginMechanism TiddlyWiki on Node.js
Title List: Filters ListField PermaLinks Title Selection
Title Selection: Filters Title List
Transclusion: Philosophy of Tiddlers TemplateTiddlers TextReference TranscludeWidget Transclusion and Substitution Transclusion Basic Usage Transclusion in WikiText Transclusion with Templates
Wiki: WikiStore
WikiText: Editor toolbar Formatting text in TiddlyWiki WikiText
Configuring startup tiddlers: DefaultTiddlers Filter Expression Preserving open tiddlers at startup
Customise TiddlyWiki:
Customising search results:
Page and tiddler layout customisation: ImportTiddlers SystemTags
BT: JeremyRuston Osmosoft
Base64:
CamelCase:
Cascading Style Sheets:
Comma-Separated Values:
ContentType: Cascading Style Sheets Comma-Separated Values TiddlyWiki
Data URI: Cascading Style Sheets
Definitions: Concepts TiddlyWiki
Document Object Model: TiddlyWiki on Node.js Widgets
Federatial: JeremyRuston TiddlyWiki
GitHub: GitHub TiddlyWiki
GuerillaWiki: GuerillaWiki TiddlyWiki
HyperText Markup Language: WikiText
JavaScript Object Notation: DataTiddlers
JavaScript:
JeremyRuston: Federatial TiddlyWiki
Jermolene: JeremyRuston
Keyboard Shortcut Descriptor: KeyboardWidget
MathML: WikiText
NW.js: Node.js OpenSource TiddlyWiki TiddlyWiki on NW.js
Node.js: JavaScript TiddlyWiki on Node.js
OpenSource: OpenSource
Osmosoft: BT JeremyRuston TiddlyWiki
Percent Encoding: URI
Quine:
SingleFileApplication: Quine SinglePageApplication
SinglePageApplication: SingleFileApplication TiddlyWiki
Stanford JavaScript Crypto Library:
TiddlyDesktop: GitHub Introducing TiddlyDesktop Video NW.js OpenSource TiddlyDesktop TiddlyDesktop Releases TiddlyWiki TiddlyWiki5 TiddlyWikiClassic
TiddlyFox: Firefox Firefox Apocalypse GettingStarted GitHub Saving with TiddlyFox Saving with TiddlyFox on Android TiddlyFox TiddlyWiki
TiddlyIE: Saving with TiddlyIE TiddlyIE TiddlyWiki
TiddlySpace: BT Osmosoft TiddlySpace TiddlyWeb
TiddlyWeb: Tiddlers TiddlySpace TiddlyWeb TiddlyWiki5
TiddlyWikiClassic: TiddlyWiki TiddlyWiki5 TiddlyWikiClassic
URI:
node-webkit: NW.js
Alice in Wonderland:
Apple:
Caruso - Ave Maria:
GroupedLists: $:/core/ui/MoreSideBar/Types $:/core/ui/SideBar/Recent
ImageGallery Example: $:/tags/Image ListWidget TranscludeWidget
SampleAlert: SampleAlert
SampleNotification:
SampleTabFour:
SampleTabOne:
SampleTabThree:
SampleTabTwo:
SampleTiddlerFirst: SampleTiddlerFirst
SampleTiddlerSecond: SampleTiddlerSecond
SampleTiddlerThird: SampleTiddlerThird
SampleWizard: SampleWizard
SampleWizard2: SampleWizard2
TabbedExampleType:
Contents:
First:
FirstOne:
FirstThree:
FirstTwo:
Fourth:
Second:
SecondOne:
SecondThree:
SecondThreeOne:
SecondThreeThree:
SecondThreeTwo:
SecondTwo:
Third:
ThirdOne:
ThirdThree:
ThirdTwo:
Example Table of Contents: Expandable:
Example Table of Contents: Selectively Expandable:
Example Table of Contents: Simple:
Example Table of Contents: Sorted Expandable:
Example Table of Contents: Tabbed Internal:
Example Table of Contents: Tabbed External:
Example for tag Macro:
Compose ballad: TaskManagementExample
Get the Ring: TaskManagementExample
Go to Mordor: TaskManagementExample
Kill the Dragon: TaskManagementExample
Make the beds: TaskManagementExample
TaskManagementExample: TiddlyWiki5
TaskManagementExample (Draggable): TaskManagementDemo
TaskManagementExampleDraggableTemplate:
done:
task: TaskManagementExample
TiddlyWiki.mp3:
Days of the Week:
Friday:
Monday:
Saturday:
Sunday:
Thursday:
Tuesday:
Wednesday:
sampletag1:
sampletag2:
Blog Edition:
Editions: TiddlyWiki
Empty Edition: TiddlyWiki
Full Edition:
Résumé Builder Edition:
Text-Slicer Edition:
XLSX Utilities Edition: TiddlyWiki
AutoSave: SaverModule
DateFormat: ViewWidget
Drag and Drop: $:/ControlPanel DragAndDropMechanism Importing Tiddlers list-links-draggable Macro list-tagged-draggable Macro ListField Mobile Drag And Drop Shim Plugin
Features: Quine
Future Proof: OpenSource
Importing Tiddlers: Drag and Drop How to export tiddlers TiddlyWiki
LazyLoading: TiddlyWeb TiddlyWiki in the Sky for TiddlyWeb TiddlyWiki on Node.js
Modals: WidgetMessage: tm-modal
Notifications:
SafeMode: Upgrading
Scalability: SinglePageApplication
Searching in TiddlyWiki: $:/AdvancedSearch Filters ShadowTiddlers SystemTiddlers
StartupActions: ActionWidgets Pragma TiddlyWiki
ListField: Filters NavigatorWidget StoryList Tagging TiddlerFields Title List
MultiTiddlerFileSyntax: MultiTiddlerFiles
MultiTiddlerFiles: $:/language/ControlPanel/Basics/Caption $:/language/ControlPanel/Basics/Version MultiTiddlerFiles
TiddlerFiles: ContentType TiddlyWiki
Filter Operators: all Operator Filter Parameter Filter Run Filter Step Filter Syntax Filters Selection Constructors Title Selection
Introduction to filter notation: TextReference Variables
addprefix Operator:
addsuffix Operator:
after Operator:
all Operator: Current Tiddler Dominant Append Filter Parameter Hard and Soft Links ShadowTiddlers
allafter Operator:
allbefore Operator:
append Operator:
backlinks Operator: Dominant Append
before Operator:
bf Operator:
butfirst Operator:
butlast Operator:
commands Operator:
contains Operator:
count Operator:
days Operator:
decodehtml Operator:
decodeuri Operator:
decodeuricomponent Operator:
each Operator: Title List
eachday Operator:
editiondescription Operator:
editions Operator:
encodehtml Operator:
encodeuri Operator:
encodeuricomponent Operator:
enlist Operator:
escaperegexp Operator:
addprefix Operator (Examples):
addsuffix Operator (Examples):
after Operator (Examples): Thursday
all Operator (Examples):
allafter Operator (Examples):
allbefore Operator (Examples):
append Operator (Examples):
backlinks Operator (Examples):
before Operator (Examples): Thursday
butlast Operator (Examples):
commands Operator (Examples):
contains Operator (Examples):
count Operator (Examples):
days Operator (Examples):
decodehtml Operator (Examples):
decodeuri Operator (Examples):
decodeuricomponent Operator (Examples):
each Operator (Examples): GroupedLists
eachday Operator (Examples): GroupedLists
encodehtml Operator (Examples):
encodeuri Operator (Examples):
encodeuricomponent Operator (Examples):
enlist Operator (Examples):
escaperegexp Operator (Examples):
field Operator (Examples):
fields Operator (Examples):
first Operator (Examples):
get Operator (Examples):
getindex Operator (Examples):
has Operator (Examples):
indexes Operator (Examples):
is Operator (Examples):
jsonstringify Operator (Examples):
last Operator (Examples):
limit Operator (Examples):
links Operator (Examples): Filter Operators HelloThere links Operator
list Operator (Examples):
listed Operator (Examples):
lookup Operator (Examples):
minlength Operator (Examples):
modules Operator (Examples):
moduletypes Operator (Examples):
move Operator (Examples):
next Operator (Examples):
nsort Operator (Examples):
nsortcs Operator (Examples):
nth Operator (Examples):
plugintiddlers Operator (Examples):
prefix Operator (Examples):
prepend Operator (Examples):
previous Operator (Examples):
putafter Operator (Examples):
putbefore Operator (Examples):
putfirst Operator (Examples):
putlast Operator (Examples):
regexp Operator (Examples): Variables
remove Operator (Examples):
removeprefix Operator (Examples):
removesuffix Operator (Examples):
replace Operator (Examples):
rest Operator (Examples):
reverse Operator (Examples):
sameday Operator (Examples):
search Operator (Examples):
shadowsource Operator (Examples):
sort Operator (Examples):
sortan Operator (Examples): Apple
sortby Operator (Examples):
sortcs Operator (Examples):
splitbefore Operator (Examples):
storyviews Operator (Examples):
stringify Operator (Examples):
subfilter Operator (Examples):
subtiddlerfields Operator (Examples):
suffix Operator (Examples):
tag Operator (Examples):
tagging Operator (Examples):
tags Operator (Examples):
title Operator (Examples):
untagged Operator (Examples):
field Operator: Filter Operators Filter Step
fields Operator: Dominant Append
first Operator:
get Operator: Filter Operators Title Selection
getindex Operator: DataTiddlers Dominant Append
has Operator:
haschanged Operator:
indexes Operator: DataTiddlers Dominant Append JSONTiddlers
insertbefore Operator:
is Operator: ContentType Current Tiddler Filter Expression Filter Run Hard and Soft Links ShadowTiddlers SystemTiddlers
jsonstringify Operator: stringify Operator
last Operator:
limit Operator:
links Operator: Dominant Append
list Operator: Current Tiddler TextReference
listed Operator: Dominant Append Title List
lookup Operator:
minlength Operator:
modules Operator:
moduletypes Operator:
move Operator:
next Operator:
nsort Operator:
nsortcs Operator:
nth Operator:
order Operator:
plugintiddlers Operator:
prefix Operator:
prepend Operator:
previous Operator:
putafter Operator:
putbefore Operator:
putfirst Operator:
putlast Operator:
range Operator: Formula Plugin
regexp Operator: Filter Run Variables
remove Operator:
removeprefix Operator:
removesuffix Operator:
replace Operator:
rest Operator:
reverse Operator:
sameday Operator:
search Operator:
shadowsource Operator: Dominant Append
sort Operator:
sortan Operator:
sortby Operator:
sortcs Operator:
splitbefore Operator: Dominant Append Table-of-Contents Macros
storyviews Operator: Modules
stringify Operator: jsonstringify Operator
subfilter Operator:
subtiddlerfields Operator:
suffix Operator:
Filter Expression: Dominant Append Filter Run Filter Syntax ShadowTiddlers
Filter Parameter: DataTiddlers Filter Operators TextReference TiddlerFields Variables
Filter Run: Filter Expression Filter Step Title Selection
Filter Step: Filter Expression Filter Operators Filter Run Filter Syntax TiddlerFields Title Selection
Filter Syntax: Filter Expression Filter Run Filter Step Title Selection
Filter Whitespace: Filter Expression Filter Run
tag Operator: Order of Tagged Tiddlers
tagging Operator: Dominant Append Order of Tagged Tiddlers
tags Operator: Dominant Append
title Operator: Selection Constructors
untagged Operator:
GettingStarted - Android: AndTidWiki TiddlyFox TiddlyWiki
GettingStarted - Chrome: TiddlyWiki
GettingStarted - Firefox: TiddlyFox TiddlyWIki
GettingStarted - Internet Explorer: Windows HTA Hack TiddlyWiki
GettingStarted - Node.js:
GettingStarted - Online: CouchDB TiddlyWiki
GettingStarted - Safari: TiddlyWiki
GettingStarted - iOS:
GettingStarted: A Gentle Guide to TiddlyWiki Encryption Saving on TiddlySpot TiddlyDesktop TiddlyWiki
A Gentle Guide to TiddlyWiki: Creating and editing tiddlers GettingStarted Philosophy of Tiddlers Sharing your tiddlers with others StoryLists Structuring TiddlyWiki TableOfContents TiddlyWiki TiddlyWiki on Node.js TiddlyWiki Video Tutorials by Francis Meetze
Discover TiddlyWiki: Community Philosophy of Tiddlers TagPills
HelloThere: "TiddlyWiki for Scholars" by Alberto Molina Creating and editing tiddlers Philosophy of Tiddlers Sharing your tiddlers with others Structuring TiddlyWiki TaskManagementExample TiddlyWiki
HelloThumbnail:
Some of the things you can do with TiddlyWiki: https://tiddlywiki.com/plugins/tiddlywiki/d3/ ImageGallery Example Motovun Jack.jpg SampleWizard TaskManagementExample
Ten reasons to switch to TiddlyWiki:
What happened to the original TiddlyWiki?: TiddlyWiki TiddlyWiki5 TiddlyWikiClassic WikiText
HelloThumbnail - Classic:
HelloThumbnail - Developers:
HelloThumbnail - Gentle Guide:
HelloThumbnail - HelpingTiddlyWiki:
HelloThumbnail - Introduction Video:
HelloThumbnail - Latest Version:
HelloThumbnail - TWEUM2017:
HelloThumbnail - TiddlyMap:
Hidden Setting: New-Image Type: $:/config/NewImageType
Hidden Setting: Filename for Save Wiki Button: $:/config/SaveWikiButton/Filename
Hidden Setting: Template for Save Wiki Button: $:/config/SaveWikiButton/Template
Hidden Setting: Search Minimum Length: $:/config/Search/MinLength
Hidden Setting: Tags Minimum Length: $:/config/Tags/MinLength
Hidden Setting: Scroll Top Adjustment: TiddlyWiki
Hidden Setting: Search AutoFocus: $:/config/Search/AutoFocus TiddlyWiki
Hidden Setting: Typing Refresh Delay: $:/config/Drafts/TypingTimeout TiddlyWiki
Hidden Settings: TiddlyWiki
Adding a Twitter Follow button: TiddlyWiki
Adding a table of contents to the sidebar: Macros Table-of-Contents Macros TableOfContents Tagging
Adopt a Titles Policy: Documentation Style Guide TiddlyWiki
Concatenating text and variables using macro substitution: MacroCallWidget Macros
Configuring the default TiddlerInfo tab: $:/config/TiddlerInfo/Default InfoPanel
Creating SubStories: HelloThere
Creating a custom export format:
Creating a splash screen: $:/SplashScreen $:/tags/RawMarkupWikified/TopBody SystemTag: $:/tags/RawMarkupWikified/TopBody TiddlyWiki WikiText
Custom styles by data-tiddler-title: Custom data-styles
Custom styles by user-class: $:/core/ui/ViewTemplate $:/TagManager How to apply custom styles
Attribute Selectors:
Custom Styles FAQ:
Custom data-styles: DejaVu
Custom styles by data-tags: Custom data-styles Hard Linebreaks with CSS
Editing Tiddlers with Emacs: TiddlyWiki
Editing Tiddlers with Vim: TiddlyWiki
Editor toolbar: MarkDown WikiText
Formatting List Results as Tables with CSS - Specified Columns Methods: Formatting List Results as Tables (no CSS) Formatting List Results as Tables with CSS - Variable Column Method
Formatting List Results as Tables with CSS - Variable Column Method: Formatting List Results as Tables (no CSS) Formatting List Results as Tables with CSS - Specified Columns Methods
Formatting List Results as Tables (no CSS): Formatting List Results as Tables with CSS - Specified Columns Methods Formatting List Results as Tables with CSS - Variable Column Method nth Operator
Generating Static Sites with TiddlyWiki: DefaultTiddlers JavaScript RenderTiddlerCommand RenderTiddlersCommand TiddlyWiki TiddlyWiki5
Hard Linebreaks with CSS: Custom data-styles Hard Linebreaks with CSS - Example How to apply custom styles TiddlyWiki
Hard Linebreaks with CSS - Example: WikiText
Height of text editor:
How to add a banner for GitHub contributions: $:/ContributionBanner GitHub Improving TiddlyWiki Documentation
How to apply custom styles by tag: Using Stylesheets
How to apply custom styles:
How to build a TiddlyWiki5 from individual tiddlers: Installing TiddlyWiki on Node.js TiddlerFiles TiddlyWiki TiddlyWiki5 TiddlyWikiFolders
How to change the sort order of sub-branches in a TOC macro: Table-of-Contents Macros
How to create keyboard shortcuts: $:/config/shortcuts- $:/config/shortcuts-linux/ $:/config/shortcuts-mac/ $:/config/shortcuts-not-linux/ $:/config/shortcuts-not-mac/ $:/config/shortcuts-not-windows/ $:/config/shortcuts-windows/ $:/config/shortcuts/ $:/ControlPanel $:/core/ui/ControlPanel/KeyboardShortcuts $:/core/ui/PageMacros $:/tags/Macro ActionNavigateWidget Key Descriptor Keyboard Shortcut Descriptor KeyboardWidget my-macro-tiddler
How to Customize TiddlyDesktop: HelloThere TiddlyDesktop TiddlyWiki
How to embed PDF and other documents: ContentType ExternalImages node.js
How to export tiddlers: $:/AdvancedSearch Filters
How to hide the author's and other fields with CSS:
How to put the last modification date in a banner: $:/_MyRibbon $:/tags/PageControls $:/tags/PageTemplate Installing a plugin from the plugin library
How to widen tiddlers (aka storyriver):
How to add a new tab to the sidebar: $:/core/ui/SideBar/Open $:/tags/SideBar SystemTags Table-of-Contents Macros TableOfContents Tagging
How to turn off camel case linking: $:/ControlPanel CamelCase
Insert link: Insert picture WikiText
Insert picture: WikiText
KeyboardShortcuts:
Making a custom journal button: $:/core/ui/Buttons/new-journal
Making curved text with SVG:
More actions:
Preserving open tiddlers at startup:
Setting a favicon: $:/favicon.ico ServerCommand
Setting a page background image: ControlPanel ExternalImages Images in WikiText
Sharing a TiddlyWiki on Dropbox: TiddlyWiki
Simple ways to write protect tiddlers:
Structuring TiddlyWiki: DataTiddlers Tagging TiddlerLinks Tiddlers TiddlyWiki5 Title List
Tagging: $:/TagManager Creating and editing tiddlers Filters InfoPanel Order of Tagged Tiddlers Page and tiddler layout customisation TiddlerFields Title List
Text preview:
The First Rule of Using TiddlyWiki: TiddlyFox TiddlyWiki
Upgrading: SafeMode TiddlyWiki
Using Excise: EditorToolbar Linking in WikiText Macros Transclusion
Using SVG: $:/SVGExampleRadius HelloThere Motovun Jack.svg Tiddler Fishes.svg TiddlyWiki5 Typed Blocks in WikiText WikiText
Using Stamp:
Using Stylesheets: ColourPalettes RevealWidget Stylesheet Macros WikiText
Using TiddlyWiki for GitHub project documentation: GitHub LinkWidget MarkDown ReadMe TiddlyWiki5 TiddlyWikiFolders
Using a custom path prefix with the client-server edition: ServerCommand TiddlyWiki on Node.js
Windows HTA Hack: TiddlyWiki
Q: Is there a way to create dynamic stylesheets?: Q: How can I use a custom field to style a tiddler?
Q: How can I use a custom field to style a tiddler?: Attribute Selectors
Q: What if a tiddler has no tags?: Attribute Selectors
Q: How can I style a tiddler if it has "this" AND "that" tag?: Attribute Selectors
Q: How can I style a tiddler if it has "this" OR "that" tag?: Attribute Selectors
Blurry Lawn.jpg:
Dev Thumbnail.jpg:
Introduction Video Thumbnail.jpg:
Motovun Jack.ascii:
Motovun Jack.jpg:
Motovun Jack.pdf:
Motovun Jack.svg:
New Release Banner.png:
Newnham Horizon.jpg:
PerlinLight.jpg:
Pinstripe.gif:
TWEUM Thumbnail.jpg:
Tiddler Fishes.svg:
Tiddler Poster.png:
TiddlyFox Apocalypse.png:
TiddlyMap.png:
TiddlyWiki Classic.png:
Language Icon: ca-ES:
Language Icon: cs-CZ:
Language Icon: da-DK:
Language Icon: de-AT:
Language Icon: de-DE:
Language Icon: el-GR:
Language Icon: es-ES:
Language Icon: fr-FR:
Language Icon: hi-IN:
Language Icon: ia-IA:
Language Icon: it-IT:
Language Icon: ja-JP:
Language Icon: ko-KR:
Language Icon: nl-NL:
Language Icon: pa-IN:
Language Icon: pt-PT:
Language Icon: ru-RU:
Language Icon: sk-SK:
Language Icon: sv-SE:
Language Icon: zh-Hans:
Language Icon: zh-Hant:
Edición en Castellano:
Chinese (Simplified) Edition: Chinese (Traditional) Edition TiddlyWiki
Chinese (Traditional) Edition: Chinese (Simplified) Edition TiddlyWiki
Édition en Français (France): TiddlyWiki
Deutsch (Österreich) Edition: Deutsch (Deutschland) Edition TiddlyWiki
Deutsch (Deutschland) Edition: Deutsch (Österreich) Edition TiddlyWiki
Korean (Korea Republic) Edition:
LanguageGallery Example: ListWidget Tagging TranscludeWidget
Languages: Translate TiddlyWiki into your language
Copying tiddlers between TiddlyWiki files: TiddlyWiki
Introduction to Lists: Filter Operators Filters HelloThere list Operator list-links Macro listed Operator ListField Lists in WikiText ListWidget Order of Tagged Tiddlers The Extended Listops Filters TiddlerFields TiddlyWiki Transclusion with Templates WikiText
Learning: Reference TiddlyWiki WikiText
changecount Macro: Current Tiddler Macros
colour Macro: $:/palettes/Vanilla Cascading Style Sheets ColourPalettes Macros
contrastcolour Macro: $:/core/ui/TagTemplate Cascading Style Sheets Macros
Core Macros: Macros
csvtiddlers Macro: $:/core/templates/exporters/CsvFile Comma-Separated Values Filters Macros Title Selection
datauri Macro: Base64 Cascading Style Sheets Data URI Macros
dumpvariables Macro: Macros Variables Widgets
jsontiddlers Macro: $:/core/templates/exporters/JsonFile Filters JavaScript Object Notation Macros Title Selection
lingo Macro: Macros
list-links Macro: Cascading Style Sheets Filters Macros Title Selection
makedatauri Macro: ContentType Data URI Macros
now Macro: DateFormat Macros
qualify Macro: Macros StateMechanism Widgets
resolvepath Macro: Macros
Stylesheet Macros: $:/core/macros/CSS Cascading Style Sheets Macros
Table-of-Contents Macros: Filter Expression Filter Step How to add a new tab to the sidebar Order of Tagged Tiddlers SecondThree StateMechanism SystemTiddlers Table-of-Contents Macros (Examples) Tagging TemplateTiddlers
tabs Macro: Cascading Style Sheets Filters Macros StateMechanism SystemTiddlers TemplateTiddlers Title Selection
tag Macro: Current Tiddler Macros
timeline Macro: Date Fields DateFormat Filter Expression Filter Step Macros
version Macro: Macros
colour-picker Macro: Macros
copy-to-clipboard Macro: Macros
Macro Calls in WikiText (Examples):
changecount Macro (Examples): New Tiddler
colour-picker Macro (Example 1):
colour-picker Macro (Examples):
colour Macro (Examples):
copy-to-clipboard Macro (Examples):
datauri Macro (Examples): WikiText
dumpvariables Macro (Examples):
image-picker Macro (Example 1):
image-picker Macro (Example 2):
image-picker Macro (Examples):
lingo Macro (Examples): DateFormat
list-links-draggable Macro (Examples):
list-links Macro (Examples):
list-tagged-draggable Macro (Examples):
makedatauri Macro (Examples):
now Macro (Examples):
qualify Macro (Examples): $:/editions/tw5.com/macro-examples/qualify-transcluded
resolvepath Macro (Examples):
tabs Macro (Examples):
tag Macro (Examples):
thumbnail Macro (Examples):
timeline Macro (Examples):
Table-of-Contents Macros (Examples): Table-of-Contents Macros TableOfContents
tree Macro (Examples):
version Macro (Examples):
image-picker Macro: Filter Expression Filter Step Macros
jsontiddler Macro: JavaScript Object Notation Macros
list-links-draggable Macro: currentTiddler Variable Drag and Drop ListField Macros
list-tagged-draggable Macro: currentTiddler Variable Drag and Drop Macros Order of Tagged Tiddlers
Macro Call Syntax: Filter Whitespace Macros
Macro Definition Syntax: Filter Whitespace Macros
Macro Syntax:
tag-picker Macro: Macros
tag-pill Macro: Macros tag Macro
thumbnail Macro: Macros
tree Macro: Macros
AlertMechanism: $:/tags/Alert
DraftMechanism: ListWidget NavigatorWidget
DragAndDropMechanism: ButtonWidget Drag and Drop DraggableWidget DroppableWidget DropzoneWidget LinkWidget
HistoryMechanism: $:/config/EmptyStoryMessage $:/HistoryList GettingStarted
InfoMechanism: $:/info/browser $:/info/browser/screen/height $:/info/browser/screen/width $:/info/node $:/info/url/full $:/info/url/host $:/info/url/hostname $:/info/url/origin $:/info/url/pathname $:/info/url/port $:/info/url/protocol $:/info/url/search Node.js WikiText
Mechanisms: TiddlyWiki
PluginMechanism: Installing a plugin from the plugin library JavaScript Modules PluginFolders Plugins ShadowTiddlers ThemeMechanism TiddlyWiki TiddlyWiki on Node.js TiddlyWiki5
PopupMechanism: ButtonWidget RevealWidget StateMechanism
SavingMechanism: $:/config/SaverFilter $:/core/save/all $:/plugins/tiddlywiki/tiddlyweb $:/plugins/tiddlywiki/tiddlyweb/save/offline ButtonWidget SavingMechanism TiddlyWiki WidgetMessage: tm-save-wiki
StateMechanism: $:/core/ui/PageTemplate $:/InfoPanelState $:/StoryList DraftMechanism NavigationMechanism StateMechanism StateTiddler TiddlyWiki WikiText
TranslationMechanism: $:/language $:/language/Docs/ModuleTypes/isfilteroperator $:/language/EditTemplate/Fields/Add/Value/Placeholder $:/language/EditTemplate/Shadow/OverriddenWarning TiddlyWiki
UpgradeMechanism:
SampleModal:
WidgetMessage: tm-add-field: ButtonWidget FieldManglerWidget
WidgetMessage: tm-add-tag: ButtonWidget FieldManglerWidget
WidgetMessage: tm-auto-save-wiki: NavigatorWidget SaverModules SyncMechanism TiddlerStore TiddlyWiki WidgetMessage: tm-delete-tiddler WidgetMessage: tm-perform-import WidgetMessage: tm-save-tiddler
WidgetMessage: tm-browser-refresh: ButtonWidget
WidgetMessage: tm-cancel-tiddler: ButtonWidget NavigatorWidget
WidgetMessage: tm-clear-password: $:/isEncrypted ButtonWidget EncryptionMechanism
WidgetMessage: tm-close-all-tiddlers: ButtonWidget NavigatorWidget StoryList
WidgetMessage: tm-close-other-tiddlers: ButtonWidget NavigatorWidget StoryList
WidgetMessage: tm-close-tiddler: ButtonWidget NavigatorWidget StoryList
WidgetMessage: tm-copy-to-clipboard: $:/language/Notifications/CopiedToClipboard/Failed $:/language/Notifications/CopiedToClipboard/Succeeded ButtonWidget TiddlyWiki
WidgetMessage: tm-delete-tiddler: ButtonWidget NavigatorWidget StoryList
WidgetMessage: tm-download-file: ButtonWidget HashMap SaverModules SyncMechanism TiddlyWiki
WidgetMessage: tm-edit-bitmap-operation: $:/core/ui/EditorToolbar/size-dropdown ActionWidget ButtonWidget
WidgetMessage: tm-edit-text-operation: $:/core/ui/EditorToolbar/bold ActionWidget ButtonWidget
WidgetMessage: tm-edit-tiddler: ActionSendMessageWidget ButtonWidget NavigatorWidget StoryList
WidgetMessage: tm-fold-all-tiddlers: ButtonWidget NavigatorWidget
WidgetMessage: tm-fold-other-tiddlers: ButtonWidget NavigatorWidget
WidgetMessage: tm-fold-tiddler: ButtonWidget NavigatorWidget
WidgetMessage: tm-full-screen:
WidgetMessage: tm-home: $:/DefaultTiddlers ButtonWidget PermaLinks
WidgetMessage: tm-import-tiddlers: $:/Import BrowseWidget DropzoneWidget NavigatorWidget UpgradeMechanism
WidgetMessage: tm-load-plugin-from-library: ButtonWidget CodeMirror
WidgetMessage: tm-load-plugin-library: ButtonWidget
WidgetMessage: tm-login: $:/status/IsLoggedIn $:/status/UserName SyncAdaptorModules SyncMechanism
WidgetMessage: tm-logout: $:/status/IsLoggedIn $:/status/UserName SyncAdaptorModules SyncMechanism
WidgetMessage: tm-modal: ButtonWidget HashMap
WidgetMessage: tm-navigate: ActionNavigateWidget ButtonWidget HistoryList LinkWidget NavigatorWidget StoryList
WidgetMessage: tm-new-tiddler: ActionSendMessageWidget ButtonWidget HashMap NavigatorWidget StoryList TiddlerFields
WidgetMessage: tm-notify:
WidgetMessage: tm-open-external-window: ActionSendMessageWidget ButtonWidget
WidgetMessage: tm-open-window: ButtonWidget
WidgetMessage: tm-perform-import: $:/Import ButtonWidget NavigatorWidget TiddlerStore UpgradeMechanism
WidgetMessage: tm-permalink: ButtonWidget PermaLinks StoryMechanism
WidgetMessage: tm-permaview: ButtonWidget PermaLinks StoryMechanism StoryRiver
WidgetMessage: tm-print: ButtonWidget
WidgetMessage: tm-remove-field: ButtonWidget FieldManglerWidget
WidgetMessage: tm-remove-tag: ButtonWidget FieldManglerWidget
WidgetMessage: tm-save-tiddler: ButtonWidget NavigatorWidget
WidgetMessage: tm-save-wiki: ButtonWidget HashMap SaverModule SaverModules SyncMechanism
WidgetMessage: tm-scroll: ScrollableWidget
WidgetMessage: tm-server-refresh: SyncAdaptorModules SyncMechanism
WidgetMessage: tm-set-password: $:/isEncrypted ButtonWidget EncryptionMechanism
WidgetMessage: tm-unfold-all-tiddlers: ButtonWidget NavigatorWidget
Building TiddlyWikiClassic: FieldsWidget JavaScript TiddlyWiki TiddlyWiki on Node.js TiddlyWiki5 TiddlyWikiClassic ViewWidget
Customising Tiddler File Naming: $:/config/FileSystemPaths Filter Syntax task TiddlyWiki on Node.js TiddlyWikiFolders
Environment Variables on Node.js: GitHub InitCommand TiddlyWiki on Node.js TiddlyWiki5
Installing TiddlyWiki Prerelease on Node.js: GitHub npm TiddlyWiki5
Installing TiddlyWiki on Node.js: GitHub Node.js TiddlyWiki
Naming of System Tiddlers: JavaScript TiddlyWiki
Scripts for TiddlyWiki on Node.js: LazyLoading Scripts for building tiddlywiki.com TiddlyWiki TiddlyWiki5
Serving TW5 from Android: Installing TiddlyWiki on Node.js TiddlyWiki on Node.js Using TiddlyWiki on Node.js
TiddlyWiki on Node.js: Installing TiddlyWiki on Node.js Node.js Upgrading TiddlyWiki on Node.js Using TiddlyWiki on Node.js
TiddlyWiki5 Versioning: TiddlyWiki TiddlyWiki5
Upgrading TiddlyWiki on Node.js: TiddlyWiki on Node.js
Using TiddlyWiki on Node.js: TiddlerFiles TiddlyWikiFolders
Working with the TiddlyWiki5 repository: Contributing GitHub Installing TiddlyWiki on Node.js npm Scripts for TiddlyWiki on Node.js TiddlyWiki TiddlyWiki5 Working with the TiddlyWiki5 repository video
tiddlywiki.files Files: LazyLoading Release 5.1.14 TiddlerFiles TiddlyWikiFolders
tiddlywiki.info Files: $:/config/OriginalTiddlerPaths BuildCommand TiddlyWikiFolders
Beaker Browser: Saving on Beaker Browser TiddlyWiki
Platforms: TiddlyWiki
TiddlyFox Apocalypse: Beaker Browser GettingStarted TiddlyDesktop TiddlyFox TiddlyWiki
TiddlyWiki in the Sky for TiddlyWeb: TiddlySpace TiddlyWeb TiddlyWiki
Amazon Web Services Plugin: JavaScript TiddlyWiki
CodeMirror Plugin:
D3 Plugin:
Disabling Plugins:
Dynaview Plugin:
External Attachments Plugin: TiddlyDesktop TiddlyWiki
Highlight Plugin:
Installing a plugin from the plugin library: $:/ControlPanel The First Rule of Using TiddlyWiki TiddlyWiki
KaTeX Plugin:
Manually installing a plugin: The First Rule of Using TiddlyWiki
Markdown Plugin: WikiText
Mobile Drag And Drop Shim Plugin:
OfficialPlugins: Installing a plugin from the plugin library TiddlyWiki UpgradeMechanism Working with the TiddlyWiki5 repository
Plugin Editions:
PluginFolders:
Plugin Fields:
Plugin Information Tiddlers: $:/ControlPanel $:/core/en-GB/readme $:/core/icon $:/core/readme TiddlyWiki TranscludeWidget
Plugins: Installing a plugin from the plugin library JavaScript PluginMechanism Resources
Railroad Plugin: $:/plugins/tiddlywiki/railroad/syntax
SaveTrail Plugin: TiddlyWiki
TW2Parser Plugin: WikiText
Twitter Plugin:
Uninstalling a plugin: $:/ControlPanel The First Rule of Using TiddlyWiki
ContributingTemplate: TiddlyWiki5
ReadMe: JavaScript TiddlyWiki WikiText
ReadMeBinFolder:
TiddlyWiki2ReadMe: TiddlyWikiClassic
Reference:
BetaReleases: TiddlyWiki5 TiddlyWiki5 Versioning
Release 5.1.0: TiddlyWiki
Release 5.1.1: ButtonWidget KaTeX Plugin Release 5.0.17-beta TiddlyWiki
Release 5.1.10: $:/AdvancedSearch $:/ControlPanel ActionListopsWidget ActionSetFieldWidget ActionWidgets Alice in Wonderland Blog Edition days Operator EditTextWidget FieldManglerWidget GitHub Hidden Setting: Keyboard Shortcuts Highlight Plugin How to apply custom styles by tag JavaScript KaTeX KeyboardWidget LazyLoading RenderTiddlerCommand Résumé Builder Edition SaveTiddlersCommand SelectWidget ServerCommand tabs Macro Text-Slicer Edition TiddlerLinks TiddlyWiki TiddlyWikiFolders WikiText
Release 5.1.11: Release 5.1.10
Release 5.1.12: $:/AdvancedSearch ActionWidgets CodeMirror colour-picker Macro Customising Tiddler File Naming days Operator EditShortcutWidget EntityWidget has Operator image-picker Macro KaTeX LinkCatcherWidget ScrollableWidget SelectWidget Table-of-Contents Macros TiddlyWiki Upgrading ViewWidget WebDav WikifyWidget WikiText
Release 5.1.13: KaTeX Plugin TiddlyWiki
Release 5.1.14: $:/AdvancedSearch $:/ControlPanel $:/core/images/print-button $:/Manager all Operator Block Quotes in WikiText CheckboxWidget decodehtml Operator decodeuri Operator decodeuricomponent Operator Drag and Drop encodehtml Operator encodeuri Operator encodeuricomponent Operator enlist Operator escaperegexp Operator FetchCommand has Operator HighlightPlugin InfoMechanism is Operator JavaScript KaTeX Plugin KeyboardWidget minlength Operator move Operator order Operator RenderTiddlerCommand SaveTrail Plugin SetWidget stringify Operator Table-of-Contents Macros tag Operator TiddlyFox TiddlyWiki TiddlyWiki on Beaker Browser tiddlywiki.files Files TiddlyWikiFolders Twitter Plugin WikifyWidget wikiparserrules Operator XLSX Utilities Edition
Release 5.1.15: $:/themes/tiddlywiki/vanilla/themetweaks Amazon Web Services Plugin Beaker Browser BrowseWidget DateFormat DropzoneWidget External Attachments Plugin ExternalImages FetchCommand ImportCommand JavaScript jsonstringify Operator LinkCatcherWidget lookup Operator Pragma RenderCommand RenderTiddlerCommand RenderTiddlersCommand SaveCommand SaveTiddlerCommand SaveTiddlersCommand SetWidget TiddlyDesktop TiddlyWiki tree Macro ViewWidget
Release 5.1.16: CheckboxWidget copy-to-clipboard Macro Custom data-styles DiffTextWidget DraggableWidget DroppableWidget Dynaview Plugin each Operator InfoMechanism is Operator KaTeX Plugin LinkWidget list-links Macro list-tagged-draggable Macro Macro Definitions in WikiText RadioWidget RangeWidget RevealWidget SelectWidget ServerCommand SetWidget sortan Operator StartupActions subtiddlerfields Operator tabs Macro TaskManagementExample (Draggable) Text-Slicer Edition The Extended Listops Filters TiddlyWiki ViewTemplate WidgetMessage: tm-copy-to-clipboard
Release 5.1.17: $:/status/UserName is Operator TiddlyWiki
Release 5.1.18: $:/ControlPanel $:/plugins/tiddlywiki/comments $:/SiteTitle $:/TagManager $tw.platform.isLinux ButtonWidget contains Operator Creating a splash screen decodeuri Operator decodeuricomponent Operator Filter Expression Hidden Setting: Scroll Top Adjustment How to create keyboard shortcuts ImportVariablesWidget JavaScript KaTeX KaTeX Plugin LinkWidget list-tagged-draggable Macro ListenCommand NamedCommandParameters Pragma range Operator RevealWidget search Operator ServerCommand subfilter Operator Table-of-Contents Macros tag Macro TiddlyWiki tree Macro tv-adjust-heading-level Variable tv-show-missing-links Variable Using HTTPS Using the external JavaScript template Using the integrated static file server Using the read-only single tiddler view WebServer WebServer Authorization WebServer Parameter: authenticated-user-header WebServer Parameter: credentials WebServer Parameter: csrf-disable WebServer Parameter: debug-level WidgetMessage: tm-edit-text-operation WidgetMessage: tm-full-screen WidgetMessage: tm-new-tiddler
Release 5.1.2: KaTeX Plugin TiddlySpot TiddlyWiki
Release 5.1.3: ActionWidgets Audio Creating and editing tiddlers Creating journal tiddlers ImageWidget LaTeX TiddlyWiki
Release 5.1.4: Release 5.1.3 TiddlyWiki ViewWidget
Release 5.1.5: $:/AdvancedSearch $:/ControlPanel $:/core/images/video $:/TagManager ActionDeleteFieldWidget ActionDeleteTiddlerWidget ActionSetFieldWidget CodeMirror Customising search results EditionsCommand EditTextWidget Example Table of Contents: Tabbed Internal ImageGallery Example RevealWidget Table-of-Contents Macros TiddlyWiki TiddlyWikiFolders UnpackPluginCommand WidgetMessage: tm-download-file WidgetMessage: tm-modal WidgetMessage: tm-new-tiddler WidgetMessage: tm-save-wiki
Release 5.1.6: BrowseWidget InitCommand Table-of-Contents Macros TiddlyWiki
Release 5.1.7: GettingStarted Release 5.1.6
Release 5.1.8: $:/AdvancedSearch $:/ControlPanel $:/TagManager CheckboxWidget eachday Operator editiondescription Operator editions Operator Filter Syntax Help Plugin Highlight Plugin ImageGallery Example KaTeX Plugin Railroad Plugin RenderTiddlersCommand resolvepath Macro RevealWidget sameday Operator Setting a page background image TiddlyWiki
Release 5.1.9: $:/ControlPanel ActionSendMessageWidget ButtonWidget CodeMirror Hidden Setting: Search AutoFocus Hidden Setting: Typing Refresh Delay Hidden Settings Releases TiddlyDesktop TiddlyWiki tv-tiddler-preview Variable VarsWidget
ReleaseTemplate:
Releases:
TiddlyWiki Releases: AlphaReleases BetaReleases TiddlyWiki5 TiddlyWiki5 Versioning
AlphaReleases: TiddlyWiki5 TiddlyWiki5 Versioning
Release 5.0.0-alpha.11: BrowseWidget DropzoneWidget EditBitmapWidget EditTextWidget EditWidget ListWidget NavigatorWidget SetVariableWidget TiddlyWiki5 TranscludeWidget ViewWidget
Release 5.0.0-alpha.12: TiddlyWeb TiddlyWiki5
Release 5.0.0-alpha.13: $:/tags/ControlPanel $:/tags/MoreSideBar $:/tags/SideBar $:/tags/TiddlerInfo CodeMirror DaveGifford ViewWidget
Release 5.0.0-alpha.14: $:/ControlPanel CheckboxWidget PasswordWidget
Release 5.0.0-alpha.15: $:/tags/EditTemplate $:/tags/EditToolbar $:/tags/PageControls $:/tags/ViewToolbar TiddlyWeb TranscludeWidget
Release 5.0.0-alpha.16: $:/LeftSideBar $:/TopSideBar Node.js SavingMechanism ServerCommand TiddlySpot TiddlyWiki5 TiddlyWikiFolders WikiText
Release 5.0.0-alpha.17:
Release 5.0.1-alpha: Block Quotes in WikiText GitHub StephanHradek TiddlyWiki5 Versioning Upgrading
Changes to filters in 5.0.9-beta:
Notes for upgrading to 5.0.11-beta: OutputCommand TiddlyWikiFolder
Notes for upgrading to 5.0.8-beta: $:/SiteSubtitle $:/SiteTitle InitCommand SiteSubtitle SiteTitle TiddlyWiki TiddlyWiki on Node.js
Release 5.0.10-beta: DateFormat Images in WikiText ImageWidget SafeMode TiddlyWeb
Release 5.0.11-beta: $:/AdvancedSearch $:/core/ui/PageMacros $:/core/wiki/title BuildCommand ClearPasswordCommand CodeBlockWidget CodeMirror JavaScript Linking in WikiText Notes for upgrading to 5.0.11-beta OutputCommand PermaLinks StartupMechanism The First Rule of Using TiddlyWiki TiddlerFiles TiddlyWiki TiddlyWikiFolders WikiLinks WikiText
Release 5.0.12-beta:
Release 5.0.13-beta: $:/ControlPanel $:/tags/RawMarkup CodeMirror Environment Variables on Node.js ExternalImages HTML in WikiText ImportVariablesWidget LinkWidget Macros in WikiText PermaLinks SaveTiddlersCommand SelectWidget ServerCommand SetFieldCommand TableOfContents TextWidget TiddlyWiki Widgets in WikiText
Release 5.0.14-beta: $:/ControlPanel $:/core/modules/upgraders/plugins.js $:/core/modules/upgraders/system.js $:/core/modules/upgraders/themetweaks.js $:/HistoryList $:/StoryList $:/TagManager BuildCommand CamelCase CheckboxWidget Filter Parameter ImportMechanism InfoMechanism ReleaseHistory SystemTags TiddlerWidget TiddlyWiki TranscludeWidget UpgradeLibrary UpgradePlugin UpgraderModules WidgetMessage: tw-permalink WidgetMessage: tw-permaview
Release 5.0.15-beta: $:/ControlPanel $:/TagManager DropzoneWidget ImageWidget PluginMechanism Startup Modules.svg Table-of-Contents Macros TiddlyWiki WidgetMessage: tw-browser-refresh WidgetMessage: tw-home
Release 5.0.16-beta: Configuring the default TiddlerInfo tab Table-of-Contents Macros TiddlyWiki TiddlyWikiClassic WidgetMessage: tw-browser-refresh
Release 5.0.17-beta: $:/ControlPanel BrowseWidget ButtonWidget ImageWidget LinkWidget RegExp SafeMode Table-of-Contents Macros TiddlyWiki
Release 5.0.18-beta: RadioWidget TiddlyWiki
Release 5.0.2-beta: DavidJade GitHub Hard Linebreaks in WikiText InternetExplorer JavaScript Macros PluginMechanism RadioWidget Saving on InternetExplorer Saving with TiddlyIE StephanHradek TiddlyFox TiddlyWeb
Release 5.0.3-beta:
Release 5.0.4-beta: DavidJade GitHub InternetExplorer RadioWidget SaveTiddlerCommand StephanHradek TiddlyWiki on Node.js TiddlyWikiFolders Using favicons
Release 5.0.5-beta: Setting a favicon
Release 5.0.6-beta: $:/AdvancedSearch DavidJade Formatting in WikiText InternetExplorer ServerCommand StephanHradek Tables in WikiText TiddlerFilters TiddlyWiki on node-webkit
Release 5.0.7-beta: $:/AdvancedSearch $:/ControlPanel $:/DefaultTiddlers $:/plugins/tiddlywiki/nodewebkitsaver GitHub Naming of System Tiddlers node-webkit Saving on a PHP Server ServerCommand TemplateTiddlers TextReference TextWidget TiddlerFilters TiddlyDesktop TiddlyFox TiddlyWiki TiddlyWiki Coding Style Guidelines TiddlyWiki on Firefox for Android Video ViewWidget
Release 5.0.8-beta: $:/AdvancedSearch $:/ControlPanel $:/SiteSubtitle $:/SiteTitle $:/TagManager AlertMechanism AutoSave BramChen ButtonWidget ColourPalettes EditBitmapWidget HelpCommand How to create plugins in the browser InitCommand KeyboardWidget LazyLoading MultiTiddlerFiles Notes for upgrading to 5.0.8-beta RevealWidget SiteSubtitle SiteTitle TiddlerFilter Formal Grammar TiddlerFilters TiddlyWeb TiddlyWiki on Node.js TranscludeWidget TranslationMechanism ViewWidget WidgetMessages
Release 5.0.9-beta: $:/AdvancedSearch $:/ControlPanel $:/TagManager ButtonWidget CecilyView Changes to filters in 5.0.9-beta Community Developing plugins using Node.js and GitHub LinkWidget Making curved text with SVG ScrollableWidget TiddlerFilters TiddlerTags TiddlyWeb TiddlyWiki TiddlyWiki Architecture TiddlyWikiClassic Transclusion in WikiText WidgetMessage: tw-home
RoadMap: GitHub TiddlyWiki
Emergency Tiddler Export: TiddlyWiki
Encryption: ServerCommand Stanford JavaScript Crypto Library TiddlySpot TiddlyWIki TiddlyWiki on Node.js TiddlyWiki5
Example config-tiddlyweb-host for IIS:
Example package.json for IIS:
Example tiddlywiki.info for IIS:
Example web.config for IIS:
Installing TiddlyWiki on Microsoft Internet Information Server: Node.js TiddlyWiki
Saving on Android: TiddlyWiki TiddlyWiki5
Saving on Beaker Browser: Beaker Browser TiddlyWiki
Saving on TiddlyDesktop: Introducing TiddlyDesktop Video TiddlyDesktop TiddlyWiki
Saving on TiddlySpot: $:/ControlPanel BrowserCompatibility Saving with TiddlyFox TiddlySpot
Saving on a PHP Server: $:/ControlPanel TiddlySpot
Saving on iPad/iPhone: TiddlyWiki TiddlyWiki5
Saving via WebDAV: |"Wikilabs" by PMario HowTo TiddlyWiki Upgrading WebDAV
Saving via a Minimal Ruby Server:
Saving with TiddlyFox on Android: Firefox for Android TiddlyFox TiddlyWiki TiddlyWiki on Firefox for Android Video
Saving with TiddlyFox: Saving with TiddlyFox on Android TiddlyFox TiddlyWiki
Saving with TiddlyIE: TiddlyIE TiddlyWiki
Saving with the HTML5 fallback saver: TiddlyWiki
Saving:
TiddlyWiki Cloud: TiddlyWiki
Documentation Macros: $:/ControlPanel InfoPanel
Documentation Style Guide: Documentation Macros Instruction Tiddlers Reference Tiddlers Spelling Technical Prose Style Tiddler Structure Tiddler Title Policy Typography
Instruction Tiddlers: Reference Tiddlers
Reference Tiddlers:
Spelling: JavaScript
Technical Prose Style: Instruction Tiddlers
Tiddler Structure: Philosophy of Tiddlers Reference Tiddlers
Tiddler Title Policy: CamelCase JavaScript Reference Tiddlers TiddlyWiki
Typography: Documentation Macros
Deprecated - What does it mean: Custom styles by tag
SystemTag: $:/tags/AboveStory: SystemTags
SystemTag: $:/tags/AdvancedSearch: SystemTags
SystemTag: $:/tags/AdvancedSearch/FilterButton: SystemTags
SystemTag: $:/tags/Alert: SystemTags
SystemTag: $:/tags/BelowStory: SystemTags
SystemTag: $:/tags/ControlPanel: SystemTags
SystemTag: $:/tags/ControlPanel/Advanced: SystemTags
SystemTag: $:/tags/ControlPanel/Appearance: SystemTags
SystemTag: $:/tags/ControlPanel/Info: SystemTags
SystemTag: $:/tags/ControlPanel/Saving: SystemTags
SystemTag: $:/tags/ControlPanel/Settings: SystemTags
SystemTag: $:/tags/ControlPanel/Toolbars: SystemTags
SystemTag: $:/tags/EditPreview: SystemTags
SystemTag: $:/tags/EditTemplate: SystemTags
SystemTag: $:/tags/EditToolbar: SystemTags
SystemTag: $:/tags/EditorToolbar: SystemTags
SystemTag: $:/tags/Exporter: SystemTags
SystemTag: $:/tags/Filter: SystemTags
SystemTag: $:/tags/Image: SystemTags
SystemTag: $:/tags/ImportPreview: SystemTags
SystemTag: $:/tags/KeyboardShortcut: Keyboard Shortcut Descriptor Keyboard Shortcut Tiddler SystemTags
SystemTag: $:/tags/Macro: SystemTags
SystemTag: $:/tags/Manager/ItemMain: $:/Manager SystemTags
SystemTag: $:/tags/Manager/ItemSidebar: SystemTags
SystemTag: $:/tags/MoreSideBar: SystemTags
SystemTag: $:/tags/MoreSideBar/Plugins: SystemTags
SystemTag: $:/tags/PageControls: SystemTags
SystemTag: $:/tags/PageTemplate: SystemTags
SystemTag: $:/tags/Palette: SystemTags
SystemTag: $:/tags/PluginLibrary: SystemTags
SystemTag: $:/tags/RawMarkup: SystemTags
SystemTag: $:/tags/RawMarkupWikified: ImportVariablesWidget SystemTags
SystemTag: $:/tags/RawMarkupWikified/BottomBody: ImportVariablesWidget SystemTags
SystemTag: $:/tags/RawMarkupWikified/TopBody: ImportVariablesWidget SystemTags
SystemTag: $:/tags/RawMarkupWikified/TopHead: ImportVariablesWidget SystemTags
SystemTag: $:/tags/RawStaticContent: SystemTags
SystemTag: $:/tags/RemoteAssetInfo: SystemTags
SystemTag: $:/tags/SearchResults: SystemTags
SystemTag: $:/tags/ServerConnection: SystemTags
SystemTag: $:/tags/SideBar: SystemTags
SystemTag: $:/tags/SideBarSegment: SystemTags
SystemTag: $:/tags/StartupAction: SystemTags
SystemTag: $:/tags/StartupAction/Browser: SystemTags
SystemTag: $:/tags/StartupAction/Node: SystemTags
SystemTag: $:/tags/Stylesheet: SystemTags
SystemTag: $:/tags/TagDropdown: SystemTags
SystemTag: $:/tags/Texteditor/Snippet: SystemTags
SystemTag: $:/tags/TiddlerInfo: SystemTags
SystemTag: $:/tags/TiddlerInfoSegment: SystemTags
SystemTag: $:/tags/TiddlerInfo/Advanced: SystemTags
SystemTag: $:/tags/ToolbarButtonStyle: SystemTags
SystemTag: $:/tags/TopLeftBar: SystemTags
SystemTag: $:/tags/TopRightBar: SystemTags
SystemTag: $:/tags/ViewTemplate: SystemTags
SystemTag: $:/tags/ViewToolbar: SystemTags
TiddlyDesktop Releases: TiddlyDesktop
Core Variables: Variables
Variables: Core Variables Macros Variables in WikiText Widgets WikiText
currentTiddler Variable: Current Tiddler TemplateTiddlers Variables WikiText
storyTiddler Variable: $:/core/ui/EditTemplate $:/core/ui/PageTemplate/story $:/core/ui/ViewTemplate Variables Widgets
transclusion Variable: Current Tiddler Transclusion Variables Widgets
actionTiddler Variable: DroppableWidget Variables
Sample Headings 1,2,3:
Sample Headings 3,4,5:
Sample Headings 4,5,6:
currentTiddler Variable (Examples):
storyTiddler Variable (Examples):
transclusion Variable (Examples):
tv-adjust-heading-level Variable (Examples):
tv-config-toolbar-class Variable (Examples): Cascading Style Sheets
tv-config-toolbar-icons Variable (Examples):
tv-config-toolbar-text Variable (Examples):
tv-get-export-image-link Variable (Examples):
tv-wikilink-tooltip Variable (Examples): HelloThere
tv-wikilinks Variable (Examples):
modifier Variable: DroppableWidget Variables
namespace Variable: Document Object Model HyperText Markup Language Variables
tv-adjust-heading-level Variable: Headings in WikiText Variables
tv-auto-open-on-import Variable: $:/Import StoryRiver Variables
tv-config-toolbar-class Variable: Cascading Style Sheets Variables
tv-config-toolbar-icons Variable: Variables
tv-config-toolbar-text Variable: Variables
tv-filter-export-link Variable: tv-wikilink-template Variable Variables
tv-get-export-image-link Variable: Images in WikiText Macros TiddlyWiki on Node.js Variables
tv-get-export-link Variable: Macros Variables
tv-get-export-path Variable: Percent Encoding TiddlyWiki on Node.js Variables
tv-history-list Variable: NavigatorWidget Variables
tv-show-missing-links Variable: $:/ControlPanel Variables
tv-story-list Variable: NavigatorWidget Variables
tv-tiddler-preview Variable: Variables
tv-wikilink-template Variable: Macros Percent Encoding Variables
tv-wikilink-tooltip Variable: Macros Variables WikiText
tv-wikilinks Variable: Variables
Getting Started Video: TiddlyWIki
Introducing TiddlyDesktop Video: TiddlyDesktop
Introduction Video: TiddlyWiki
TiddlyWiki on Firefox for Android Video: TiddlyWiki
Videos: Contributing TiddlyWiki
Working with the TiddlyWiki5 repository video: Working with the TiddlyWiki5 repository
TiddlyWeb JSON tiddler format: TiddlyWeb
Using HTTPS: TiddlyWiki WebServer WebServer Parameter: tls-cert WebServer Parameter: tls-key
Using the external JavaScript template: JavaScript TiddlyWiki WebServer Parameter: root-tiddler
Using the integrated static file server: ExternalImages
Using the read-only single tiddler view: TiddlyWiki WebServer Parameter: system-tiddler-render-template WebServer Parameter: system-tiddler-render-type WebServer Parameter: tiddler-render-template WebServer Parameter: tiddler-render-type
WebServer API: TiddlyWiki WebServer
WebServer API: Delete Tiddler:
WebServer API: Force Basic Authentication Login:
WebServer API: Get All Tiddlers: TiddlyWeb JSON tiddler format
WebServer API: Get Favicon: $:/favicon.ico
WebServer API: Get File: Using the integrated static file server
WebServer API: Get Rendered Tiddler: Using the read-only single tiddler view
WebServer API: Get Server Status: TiddlyWiki WebServer Parameter: anon-username
WebServer API: Get Tiddler: TiddlyWeb JSON tiddler format
WebServer API: Get Wiki: WebServer Parameter: root-render-type WebServer Parameter: root-serve-type WebServer Parameter: root-tiddler
WebServer API: Put Tiddler: TiddlyWeb JSON tiddler format
WebServer Anonymous Access: WebServer Parameter: readers WebServer Parameter: writers
WebServer Authentication: TiddlyWiki WebServer Anonymous Access WebServer Basic Authentication WebServer Header Authentication
WebServer Authorization: $:/status/IsReadOnly TiddlyWiki WebServer WebServer Authentication WebServer Parameter: credentials WebServer Parameter: readers WebServer Parameter: writers
WebServer Basic Authentication: WebServer Authentication WebServer Authorization WebServer Parameter: credentials WebServer Parameter: password WebServer Parameter: username
WebServer Guides: WebServer
WebServer Header Authentication: WebServer Parameter: authenticated-user-header
WebServer Parameter: anon-username: WebServer Parameters
WebServer Parameter: authenticated-user-header: TiddlyWiki WebServer Header Authentication WebServer Parameters
WebServer Parameter: credentials: WebServer Basic Authentication WebServer Parameter: password WebServer Parameter: username WebServer Parameters
WebServer Parameter: csrf-disable: WebServer Parameters
WebServer Parameter: debug-level: WebServer Parameters
WebServer Parameter: host: WebServer Parameters
WebServer Parameter: password: WebServer Basic Authentication WebServer Parameter: username WebServer Parameters
WebServer Parameter: path-prefix: WebServer Parameters
WebServer Parameter: port: WebServer Parameters
WebServer Parameter: readers: WebServer Authorization WebServer Parameters
WebServer Parameter: root-render-type: WebServer Parameter: root-tiddler WebServer Parameters
WebServer Parameter: root-serve-type: WebServer Parameters
WebServer Parameter: root-tiddler: WebServer Parameters
WebServer Parameter: system-tiddler-render-template: Using the read-only single tiddler view WebServer Parameters
WebServer Parameter: system-tiddler-render-type: Using the read-only single tiddler view WebServer Parameters
WebServer Parameter: tiddler-render-template: Using the read-only single tiddler view WebServer Parameters
WebServer Parameter: tiddler-render-type: Using the read-only single tiddler view WebServer Parameters
WebServer Parameter: tls-cert: Using HTTPS WebServer Parameters
WebServer Parameter: tls-key: Using HTTPS WebServer Parameters
WebServer Parameter: username: WebServer Basic Authentication WebServer Parameter: credentials WebServer Parameter: password WebServer Parameter: readers WebServer Parameter: writers WebServer Parameters
WebServer Parameter: writers: WebServer Authorization WebServer Parameters
WebServer Parameters: WebServer
WebServer: ListenCommand NamedCommandParameters ServerCommand TiddlyWiki TiddlyWiki on Node.js WebServer WebServer Anonymous Access WebServer API WebServer Authentication WebServer Authorization WebServer Basic Authentication WebServer Header Authentication WebServer Parameter: host WebServer Parameter: password WebServer Parameter: readers WebServer Parameter: username WebServer Parameter: writers
ActionCreateTiddlerWidget: ActionWidgets ButtonWidget StoryRiver WidgetMessage: tm-new-tiddler
ActionCreateTiddlerWidget Example:
ActionDeleteFieldWidget: ActionWidgets ButtonWidget Current Tiddler HelloThere
ActionDeleteTiddlerWidget: ActionWidgets ButtonWidget HelloThere TableOfContents WidgetMessage: tm-delete-tiddler
ActionListopsWidget: ActionWidgets ButtonWidget Current Tiddler DataTiddlers The Extended Listops Filters
ActionNavigateWidget: ActionWidgets ButtonWidget Current Tiddler WidgetMessage: tm-navigate
ActionSendMessageWidget: ActionWidgets ButtonWidget Messages WidgetMessage: tm-new-tiddler
ActionSetFieldWidget: ActionWidgets ButtonWidget Current Tiddler DataTiddlers HelloThere
ActionWidgets: ButtonWidget
BrowseWidget: JavaScript NavigatorWidget TiddlyWiki WidgetMessage: tm-import-tiddlers
ButtonWidget: Accessibility ActionWidgets DraggableWidget Messages PopupMechanism TextReference TiddlerA TiddlerB Transclusion in WikiText
CheckboxWidget: ActionSendMessageWidget ActionSetFieldWidget ActionWidgets Current Tiddler DataTiddlers ExampleData FieldManglerWidget SetWidget
CodeBlockWidget: Highlight Plugin
CountWidget: Filters
DiffTextWidget: $:/language/Diffs/CountMessage
DraggableWidget: DragAndDropMechanism DraggableWidget LinkWidget Mobile Drag And Drop Shim Plugin
DroppableWidget: actionTiddler Variable DragAndDropMechanism DroppableWidget Mobile Drag And Drop Shim Plugin modifier Variable
DropzoneWidget: JavaScript LinkWidget NavigatorWidget WidgetMessage: tm-import-tiddlers
EditBitmapWidget: $:/config/BitmapEditor/Colour $:/config/BitmapEditor/LineWidth Current Tiddler
EditTextWidget: AppSettings ChangeAppSettings Current Tiddler EditTextWidget GettingStarted ShadowTiddlers TemplateTiddlers
EditWidget: Current Tiddler EditBitmapWidget EditTextWidget
EncryptWidget: BootMechanism EncryptionMechanism PasswordVault TiddlyWiki5
EntityWidget:
FieldMangler Widget (Examples):
FieldManglerWidget: Current Tiddler Messages
FieldsWidget: Current Tiddler FileSavingMechanism TiddlyWiki TiddlyWiki5
ImageWidget: ExternalImages
ImportVariablesWidget: $:/core/ui/PageTemplate Filters ImportVariablesWidget Pragma
KeyboardWidget: ActionWidgets Messages
LinkCatcherWidget: ActionWidgets Messages WidgetMessage: tm-navigate
LinkWidget: Current Tiddler DraggableWidget HelloThere LinkCatcherWidget Macros WikiText
ListWidget: DraftMechanism Filters HistoryMechanism ListView ListWidget NestedLists Variables
ListopsData:
MacroCallWidget: $:/snippets/allfields $:/snippets/modules $:/themes/tiddlywiki/starlight/styles.tid ContentType
NavigatorWidget: HistoryList Messages StoryList StoryRiver TiddlerStore
PasswordWidget: PasswordVault TiddlyWiki5
RadioWidget: AnimalColours Current Tiddler DataTiddlers
RangeWidget: Current Tiddler
RevealWidget: PopupMechanism RevealWidget StateTiddlers TextReference
ScrollableWidget: $:/_tw5.com-styles WidgetMessage: tm-scroll
SelectWidget: $:/SiteTitle ActionWidgets DataTiddlers ListWidget TableOfContents
SetVariableWidget: SetWidget
SetWidget: Variables
TextWidget: WikifyWidget WikiText
The Extended Listops Filters: DaysOfTheWeek
TiddlerWidget: $:/core/ui/ViewTemplate $:/tags/Macro Current Tiddler How to apply custom styles by tag TiddlerWidget
TranscludeWidget: $:/DefaultTiddlers DataTiddlers Plugins SubTiddler TiddlyWiki TranscludeWidget
VarsWidget: SetWidget
ViewWidget: $:/DefaultTiddlers Current Tiddler DateFormat JavaScript Plugins SubTiddler
Widgets: HTML in WikiText Widgets in WikiText WikiText
WikifyWidget: ContentType Variables
Block Quotes in WikiText: Lists in WikiText TiddlyWiki5
Code Blocks in WikiText:
Dashes in WikiText:
Definitions in WikiText:
Formatting in WikiText: Code Blocks in WikiText
HTML in WikiText: Filter Expression Macro Calls in WikiText Macros in WikiText TextReference Widgets in WikiText WikiText
HTML Links in WikiText: MyLinkDestination TiddlyWiki
Hard Linebreaks in WikiText: Paragraphs in WikiText
Headings in WikiText:
Horizontal Rules in WikiText:
Images in WikiText: ImageWidget TextReference Transclusion WikiText
Linking in WikiText: CamelCase LinkWidget WikiText
Lists in WikiText: Block Quotes in WikiText
Macro Calls in WikiText: Macro Call Syntax Macro Calls in WikiText (Examples) Macros StateMechanism Transclusion Transclusion with Templates Variables
Macro Definitions in WikiText: Macro Definition Syntax Macros Pragma Title Selection Variables
Macros in WikiText: Macro Calls in WikiText Macro Definitions in WikiText Macros WikiText
Paragraphs in WikiText: Hard Linebreaks in WikiText TiddlyWiki
Styles and Classes in WikiText:
Tables in WikiText: TiddlyWiki5
Transclusion Basic Usage: TextReference TiddlerA TiddlerB TiddlerFields TiddlyWiki Transclusion Transclusion in WikiText Transclusion with Templates
Transclusion and Substitution: HTML in WikiText Introduction to filter notation Macros in WikiText Transclusion in WikiText WikiText
Transclusion in WikiText: Current Tiddler DataTiddlers Filters TemplateTiddlers TextReference TiddlerWidget TranscludeWidget Transclusion Transclusion and Substitution Transclusion Basic Usage Transclusion with Templates WikiText
Transclusion with Templates: Current Tiddler Styles and Classes in WikiText TemplateTiddlers TextReference TranscludeWidget Transclusion Basic Usage Transclusion in WikiText
Typed Blocks in WikiText: ContentType WikiText
Variables in WikiText: Filter Operators Filter Parameter ImportVariablesWidget Macro Calls in WikiText Macro Definitions in WikiText Macros Macros in WikiText Variables Widgets in WikiText
Widgets in WikiText: HTML in WikiText WikiText
Audio: Caruso - Ave Maria Images in WikiText TiddlyWiki.mp3
BrowserCompatibility: TiddlyWiki
Creating and editing tiddlers: AutoSave Creating journal tiddlers cursiva azul ListField WikiText
Creating journal tiddlers: $:/ControlPanel DateFormat Title List
Formatting text in TiddlyWiki: CamelCase Cascading Style Sheets HelloThere History of TiddlyWiki TIddlyWiki WikiText
Navigating between open tiddlers: StoryRiver StoryView
Performance: ExternalImages TiddlyWiki
Sharing your tiddlers with others: How to export tiddlers PermaLinks PermaView Sharing a TiddlyWiki on Dropbox
Using links to navigate between tiddlers: Filters Linking in WikiText ListWidget ShadowTiddlers SystemTiddlers Transclusion in WikiText
Working with TiddlyWiki:
Adding Babel Polyfill to TiddlyWiki: Using ES2016 for Writing Plugins
Adding a Table of Contents to the Sidebar: Table-of-Contents Macros TableOfContents
Glosario en-GB -> es-ES: ListField NavigatorWidget Tables in WikiText
ImportTiddlers:
Información para traductores: $:/editions/es-ES/util-macros Exporter un sous-ensemble de tiddlers Glosario en-GB->es-ES Improving TiddlyWiki Documentation Linking in WikiText
MiSubHistoria:
MySubHistoryList:
MySubStoryList:
Saving on InternetExplorer: InternetExplorer Saving with TiddlyIE Windows HTA Hack
Saving on Safari: TiddlyWiki
TiddlySpot: TiddlyWiki TiddlyWiki5 TiddlyWikiClassic
TitleField:
UsingSVG: $:/SVGExampleRadius HelloThere Motovun Jack.svg Tiddler Fishes.svg WikiText
prueba:
| purpose | filter the input by searching tiddler content |
|---|---|
| input | a selection of titles |
| suffix | the search operator uses a rich suffix, see below for details |
| parameter | one or more search terms, separated by spaces, or a literal search string |
| output | those input tiddlers in which all of the search terms can be found in the value of field F |
! output | those input tiddlers in which not all of the search terms can be found |
New in: 5.1.18 The search filter operator was significantly enhanced in 5.1.18. Earlier versions do not support the extended syntax and therefore do not permit searching multiple fields, or the literal or casesensitive options.
The search operator uses an extended syntax that permits multiple fields and flags to be passed:
[search:<field list>:<flag list>[<operand>]]tags, text and title if blank* instead of the field list causes the search to be performed across all fields available on each tiddler- reverses the order so that the search is performed on all fields except the listed fieldswords if blank)This example searches the fields title and caption for a case-sensitive match for the literal string :
[search:title,caption:literal,casesensitive[The first]]The available flags are:
A B matches A Bregexp operator.[!is[system]search[table]]
[all[shadows]search[table]]
[search:caption[arch]]
arch in their caption field[search:*[arch]]
arch in any field[search:-title,caption[arch]]
arch in any field except title and caption[!is[system]search[the first]]
[!is[system]search::literal[the first]]
[!is[system]search::literal,casesensitive[The first]]
[search:caption,description:casesensitive,words[arch]]
arch in their caption or description fieldsLa función de búsqueda en TiddlyWiki es rápida y flexible
El cuadro de búsqueda de la barra lateral devuelve una lista de tiddlers coincidentes con el texto que se escriba en él.
Si se pincha en el botón con forma de lupa que hay a la derecha del cuadro de búsqueda, se abre la búsqueda avanzada, que contiene cuatro pestañas.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
A simple technique for adding tag-based cross references to the default view template.
See also: - is a feature to generate a "See also:" section after the tiddler text, somewhat like in Wikipedia articles.
El output de un paso depende de su operador:
Un buen ejemplo de constructor es title. El output de [title[A]title[B]] es B, mientras que field es un modificador, por lo que [title[A]field:title[B] no genera output alguno.
The select widget displays a popup menu based on a HTML select element. The popup (or dropdown) contains a list of items defined by <option> and <optgroup> elements.
Every time the user selects a new value in the menu, the selected value is written to the text of a specified tiddler field or index and any ActionWidgets within the actions attribute are triggered. Conversely, if the tiddler value is changed independently the select widget is automatically updated to reflect the new value.
In multiple selection mode, the list of selected values is bound to the specified tiddler field or index. Browsers generally use the ctrl or cmd keys for multiple selection.
For example, this select widget displays a list of the tags in this wiki:
<$select tiddler=<<qualify 'select-demo'>> default='HelloThere'>
<$list filter='[all[shadows+tiddlers]tags[]sort[title]]'>
<option value=<<currentTiddler>>><$view field='title'/></option>
</$list>
</$select>Este es su aspecto:
The state tiddler currently contains:
See the text change as you switch entries in the select widget. Try changing the value of the state tiddler and see the select widget change. Notice how the select widget only displays an entry if there is a precise match with the tiddler text.
The content of the <$select> widget should be one or more HTML <option> or <optiongroup> elements that provide the available values.
| Attribute | Description |
|---|---|
| tiddler | The title of the tiddler containing the value to be displayed/modified by the select widget (defaults to the current tiddler) |
| field | The field name for the value in the current tiddler (defaults to "text") |
| index | The index of a property in a DataTiddler (takes precedence over the field attribute) |
| class | CSS classes to be assigned to the HTML select element |
| default | Default value to be used if the tiddler, field or index specifies a missing value |
| multiple | If present, switches to multiple selection mode |
| size | The number of rows to display in multiple selection mode |
| actions | A string containing ActionWidgets to be triggered when the key combination is detected |
This example sets the title of the current wiki $:/SiteTitle to one of a list of book titles:
<$select tiddler='$:/SiteTitle'>
<option>A Tale of Two Cities</option>
<option>A New Kind of Science</option>
<option>The Dice Man</option>
</$select>Este es su aspecto:
In this example the value attribute has been used to specify the text that should be used as the value of the entry instead of the display text.
<$select tiddler='$:/SiteTitle'>
<option value='cities'>A Tale of Two Cities</option>
<option value='science'>A New Kind of Science</option>
<option value='dice'>The Dice Man</option>
</$select>Este es su aspecto:
Entries in the list can be grouped together with the <optgroup> element
<$select tiddler='$:/SiteTitle'>
<optgroup label='Fiction'>
<option value='cities'>A Tale of Two Cities</option>
<option value='dice'>The Dice Man</option>
</optgroup>
<optgroup label='Non-fiction'>
<option value='science'>A New Kind of Science</option>
<option value='recursive'>The Recursive Universe</option>
</optgroup>
</$select>Este es su aspecto:
The ListWidget can be used to generate the options for a select widget. For example, here we combine a select widget listing all the tiddlers tagged TableOfContents with a transclusion to display the text of the selected one.
<$select tiddler='$:/generated-list-demo-state'>
<$list filter='[tag[TableOfContents]]'>
<option><$view field='title'/></option>
</$list>
</$select>
<$tiddler tiddler={{$:/generated-list-demo-state}}>
<$transclude mode='block'/>
</$tiddler>Este es su aspecto:
This example uses a nested pair of list widgets. The outer one generates the <optgroup> elements, and the inner one generates <option> elements:
<$select tiddler='$:/generated-list-demo-nestedstate' field='type' default='text/vnd.tiddlywiki'>
<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]each[group]sort[group]]'>
<optgroup label={{!!group}}>
<$list filter='[all[shadows+tiddlers]prefix[$:/language/Docs/Types/]group{!!group}] +[sort[description]]'>
<option value={{!!name}}><$view field='description'><$view field='title'/></$view> (<$view field='name'/>)</option>
</$list>
</optgroup>
</$list>
</$select>Este es su aspecto:
This example uses the multiple keyword to specify that we should be able to select multiple items.
<$select tiddler='$:/generated-list-demo-state' field='testing' multiple size='8'>
<$list filter='[tag[TableOfContents]]'>
<option><$view field='title'/></option>
</$list>
</$select><br />
<$list filter='[list[$:/generated-list-demo-state!!testing]]'>
<$view field='title' /><br />
</$list>
Este es su aspecto:
Note that the --server command is now deprecated in favour of the new ListenCommand.
See WebServer for details of TiddlyWiki's web server functionality.
El servidor compilado para TiddlyWiki5 es muy simple. Aunque es compatible con TiddlyWeb, no soporta muchas de las características necesarias para un uso robusto en Internet.
En la raíz, sirve un tiddler específico
Fuera de la raíz, sirve tiddlers individuales codificados en JSON, y soporta operaciones básicas HTTP de GET, PUT y DELETE.
--server <port> <roottiddler> <rendertype> <servetype> <username> <password> <host> <pathprefix>Los parámetros son
Si se ha definido contraseña, el navegador pedirá que se introduzca nombre y contraseña.
Nótese que la contraseña se transmite en modo texto por lo que esta implementación no es apropiada para uso general.
Por ejemplo:
--server 8080 $:/core/save/all text/plain text/html MyUserName passw0rdEl nombre de usuario y la contraseña pueden ser especificados como cadenas de símbolos vacías si se necesita configurar el nombre del servidor o prefijo de ruta y no se requiere contraseña:
--server 8080 $:/core/save/all text/plain text/html "" "" 192.168.0.245Para ejecutar simultáneamente múltiples servidores TiddlyWiki, deberán configurarse cada uno en un puerto diferente
Termux is an open source Android application that combines a Linux system and a terminal.
Once you open Termux on your Android system, it is straightforward to install and run the Node.js flavour of TiddlyWiki from the command line.
From then on, as long as Termux is not closed, you may access your wiki anytime from your favourite Web browser pointing on the expected address and port.
note to contributors: in Termux, you may as well install git, emacs or vi, in order to edit and maintain individual tiddler files. This would probably require that you also attach a more powerful keyboard to your Android, like the Hacker's Keyboard application or a Bluetooth external device.
Téngase en cuenta que este comando es experimental y puede cambiar o ser reemplazado
Configura el campo especificado de un grupo de tiddlers como resultado de una plantilla con la variable currentTiddler
--setfield <filter> <fieldname> <templatetitle> <rendertype>Sus parámetros son:
El "favicon" es un pequeño icono que la mayoría de navegadores incorporan a la ventana para ayudar al usuario a identificar páginas.
Cuando TiddlyWiki arranca en el navegador, busca un tiddler llamado $:/favicon.ico y lo usa dinámicamente como favicon de la página. Si modificas la imagen, el favicon cambiará al instante.
Trabajando en la versión servidor de TiddlyWiki, es el comando ServerCommand quien facilita el contenido del tiddler $:/favicon.ico a la ruta /favicon.ico.
De forma complementaria, puede ser necesario cambiar la Paleta de colores para mantener el nivel de legibilidad de la barra lateral.
The set variable widget assigns a value to a specified variable. The new value of the variable is available to the content within the set variable widget.
The content of the <$set> widget is the scope for the value assigned to the variable.
| Attribute | Description |
|---|---|
| name | The name of the variable to assign (defaults to "currentTiddler") |
| value | The value to assign to the variable if the filter is missing or not empty |
| tiddler | New in: 5.1.15 Optional title of the tiddler from which to read the value |
| subtiddler | New in: 5.1.16 Optionally specifies the title of a subtiddler within a plugin tiddler identified by the tiddler attribute |
| field | New in: 5.1.15 Optional field of the tiddler from which to read the value (only used if tiddler is used) |
| index | New in: 5.1.15 Optional index of the tiddler from which to read the value (only used if tiddler is used) |
| filter | An optional filter to be evaluated and assigned to the variable (see below) |
| select | New in: 5.1.14 An optional zero-based index of the item to return from the filter output (see below) |
| emptyValue | The value to assign to the variable if the specified value is missing or empty (see below) |
The simplest way of using set variable widget assigns a string to a variable. The following example assigns a literal string
<$set name="myVariable" value="Some text">
<$text text=<<myVariable>>/>
</$set>Both the name and value attributes can be transcluded. For example:
<$set name=<<anotherVariable>> value={{template!!text}}>
<$text text=<<myVariable>>/>
</$set>This form of the set variable widget chooses one of two specified values according to whether a filter evaluates to an empty list. Here's an example that sets a variable according to whether the current tiddler is called "myMagicTitle":
<$set name="myVariable" filter="[all[current]field:title[myMagicTitle]]" value="It's magic" emptyValue="It's not magic">
<$text text=<<myVariable>>/>
</$set>This form of the set variable widget evaluates the filter and assigns the result to the variable as a space-separated list (using double square brackets for titles containing spaces).
<$set name="myVariable" filter="[tag[HelloThere]]">
<$text text=<<myVariable>>/>
</$set>New in: 5.1.14 This form of the set variable widget evaluates the filter and assigns the specified result to the variable as a single item (ie, not using double square brackets for titles containing spaces).
<$set name="myVariable" filter="[tag[HelloThere]]" select="0">
<$text text=<<myVariable>>/>
</$set>New in: 5.1.15 This form of the set variable widget obtains the value to assign to the variable from a value in a tiddler field or index. For example:
<$set name="myVariable" tiddler="HelloThere" field="text">
<$text text=<<myVariable>>/>
</$set>The example above could also be written as <$set name="myVariable" value={{HelloThere!!text}}>. The advantage of using the tiddler attribute is that the tiddler title and field or index can themselves be computed. For example:
<$set name="myVariable" tiddler=<<myTiddler>> field={{$:/currentField}}>
<$text text=<<myVariable>>/>
</$set>| purpose | select the plugin titles that contain the input shadows |
|---|---|
| input | a selection of shadow titles |
| parameter | none |
| output | the plugins that contain the input tiddlers |
Each input title is processed in turn. If it denotes a shadow tiddler, the title of its plugin tiddler is dominantly appended to the output. Non-shadow tiddlers contribute nothing to the output.
[[$:/core/copyright.txt]shadowsource[]]
$:/core/copyright.txt $:/plugins/tiddlywiki/railroad/parser.js +[shadowsource[]]
ShadowTiddlers are tiddlers that are loaded from within Plugins. Unlike ordinary tiddlers, they don't appear in most lists.
ShadowTiddlers can be overridden with an ordinary tiddler of the same name. If that tiddler is subsequently deleted then the original shadow tiddler is automatically restored.
The current shadow tiddlers are:
Puedes trabajar en un TiddlyWiki en Dropbox y publicar una URL que cualquiera puede ver en vista de sólo lectura.
La URL generada por Dropbox tiene este formato:
https://www.dropbox.com/s/<blablablaincomprensible>/mi_archivo.html
https://dl.dropboxusercontent.com/s/<blablablaincomprensible>/mi_archivo.html
El resultado es una URL "secreta" que puedes enviar a otros para que vean el documento.
Nota: Si compartes la URL sin modificar, aquel que la reciba verá el archivo en la interfaz online de Dropbox, no verá el archivo abierto.
Para ayudarte a modificar la URL pública de dropbox, cópiala aquí y así obtendrás la nueva URL secreta:
https://dl.dropboxusercontent.com/s/<blablabla>/mi_archivo.html (abrir)
Hay muchas formas de compartir tiddlers:
Crea un pull request en GitHub para añadir tu nombre a cla-individual.md o cla-entity.md, según corresponda si eres persona física o fiscal, con la fecha en formato YYYY/MM/DD.
paso a paso
Jeremy Ruston, @Jermolene, 2011/11/22Sometimes you want to protect individual tiddlers from accidental changes, either from yourself or guests to your TiddlyWiki file. Here's a couple simple approaches. Note that these do not provide hardened protection against a wilful attack.
Create a tiddler with the following contents and tag it as $:/tags/Stylesheet :
.tc-tagged-Locked button[title="Edit this tiddler"] {display: none;}
If your TW language isn't English, then you'll need to change the text in 'title="...."' to whatever the text is when you hover over the edit button.
Now any tiddler you tag as "Locked" will have the edit button hidden. To get it back you will need to open the stylesheet tiddler and change "none" to "inline".
$:/ and then paste the original title.Now you can view the contents of your original tiddler, but to edit them your will have to find the the tiddler with the $:/ prefix.
Juego sencillo, construido en TiddlyWiki, presentado en A simple game built with TiddlyWiki, presentado en este post.
http://zorklike.tiddlyspot.com
Quise ver si era posible hacer algún tipo de juego usando sólo el núcleo de TiddlyWiki, sin plugins ni JavaScript. Hice una versión muy esquemática de juego de ficción al estilo de Zork. Es lo más sencillo que se puede hacer y que se pueda llamar juego, pero puede que le añada cosas más adelante. Lo hice en la versión 5.1.5 prerelease, porque el widget action-setfield ahorra mucho tiempo de definir macros.
Una de las finalidades es no usar nada más que lo que contiene el núcleo de TiddlyWiki, tal cual: sin usar JavaScript ni plugin alguno.
Una aplicación de archivo único es una en la que todos sus recursos se presentan en un único archivo estático. Esto significa que puede descargarse y usarse offline sin perder funcionalidad. Del mismo modo puede alojarse en casi cualquier tipo de servidor web.
TiddlyWiki es un caso particular de aplicación de archivo único porque guarda sus datos en sí mismo y es capaz, además, de guardar cambios en sí mismo, lo que también lo convierte en un curioso caso de quine con aplicaciones prácticas.
Por definición, una aplicación de archivo único lo es también de página única, pero lo contrario no siempre es del todo cierto.
Tal como lo define WIkipedia, una aplicación de página única es una que cabe en una sola página con el propósito de dar una experiencia más fluida a los usuarios, que carga dinámicamente contenido adicional a medida que el usuario navega por el sitio.
Es frecuente que las aplicaciones de página única se diseñen cuidadosamente para ocultar su naturaleza, de modo que su apariencia y funcionamiento sea la de una página estática común, respetando la barra de dirección y los controles de navegación adelante y atrás.
De manera inusual, TiddlyWiki es también una aplicación de archivo único.
| purpose | sort the input by text field |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to title |
| output | the input, sorted into ascending order by field F, treating field values as text |
! output | the input, likewise sorted into descending order |
These examples make use of the Days of the Week tiddler.
[list[Days of the Week]sort[]]
[list[Days of the Week]!sort[]]
one two Three four +[sort[]]
[prefix[Tiddl]sort[text]]
[has[created]sort[created]limit[10]]
| purpose | sort the input by text field considering them as alphanumerics |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to title |
| output | the input, sorted into ascending order by field F, treating field values as alphanumerics |
! output | the input, likewise sorted into descending order |
The difference between uppercase and lowercase letters is ignored.
These examples make use of the Apple tiddler.
[list[Apple]sortan[]]
[list[Apple]!sortan[]]
App-10-A App-9-B App-10-B App-9-A +[sortan[]]
| purpose | sort the current list in the order of the list referenced in the operand |
|---|---|
| input | a list of items |
| parameter | order = a list specifying the order in which to sort the current list |
| output | all items sorted by lookup list |
These examples make use of the Days of the Week tiddler.
10 6 4 9 3 2 8 +[sortby[1 2 3 4 5 6 7 8 9 10]]
Friday Tuesday Monday Thursday Sunday +[sortby{Days of the Week!!list}]
1 Mon 5 Fri 4 Tue Sun 2 +[sortby{Days of the Week!!short}]
| purpose | sort the input by text field, treating upper and lower case as different |
|---|---|
| input | a selection of titles |
| parameter | F = the name of a field, defaulting to title |
| output | the input, sorted into ascending order by field F, treating field values as text |
! output | the input, likewise sorted into descending order |
These examples make use of the Days of the Week tiddler.
one two Three four +[sortcs[]]
one two Three four +[!sortcs[]]
Al ser de origen británico, TiddlyWiki prefiere, para su documentación en inglés, el uso ortográfico británico frente al americano .
Por ese motivo, palabras como "colour" siguen la norma británica, salvo en aquellos casos en que por motivos técnicos es obligado el uso de la norma americana (p.ej., código en CSS o JavaScript).
En esta edición en castellano, nos remitimos al uso ortográfico y estilístico peninsular, a la vez que invitamos a los usuarios hispanohablantes del resto de países a contribuir con este proyecto aportando el material que consideren necesario para que TiddlyWiki y su documentación se adapte a la rica variedad de dialectos de nuestra lengua.
Fuera de eso, los acrónimos técnicos estándar se escriben en mayúscula y sin puntos: "HTML"
Conviene evitar abreviar arbitrariamente palabras y frases, aunque las siguientes son aceptables:
| Abreviatura | Significado | Observaciones |
|---|---|---|
| p.ej. | por ejemplo | punto detrás de cada letra, aunque le sigan coma o dos puntos |
| i.e. | esto es, es decir, | punto detrás de cada letra |
| ...etc | etcétera | puntos suspensivos delante y sin punto detrás |
| purpose | select a delimited prefix from each input title |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters marking the end of the prefix |
| output | the prefix, up to and including S, of each input title |
Each input title is processed in turn.
S contributes everything up to and including S.S simply contributes itself to the output.Contributions are dominantly appended to the output.
The table-of-contents macros use this operator with / as the parameter.
2015-01-26 2014-07-19 2013 +[splitbefore[-]]
[[green trees]splitbefore[ee]]
The Stanford Javascript Crypto Library is a project by the Stanford Computer Security Lab to build a secure, powerful, fast, small, easy-to-use, cross-browser library for cryptography in Javascript.
During startup, TiddlyWiki executes any ActionWidgets found in tiddlers with the following system tags:
Startup actions are useful for customising TiddlyWiki according to environmental factors such as the screen size. For example, the following action widgets when placed in a tiddler tagged will cause the sidebar to be hidden by default when the screen width is less than 1000 pixels:
<$reveal type="lt" state="$:/info/browser/screen/width" text="3000">
<$action-setfield $tiddler="$:/state/sidebar" $value="no"/>
</$reveal>
<$reveal type="gteq" state="$:/info/browser/screen/width" text="3000">
<$action-setfield $tiddler="$:/state/sidebar" $value="yes"/>
</$reveal>Note that global macros are not available within startup action tiddlers by default. If you need to access them then you'll need to explicitly include them with an import pragma at the top of the tiddler:
\import [[$:/core/ui/PageMacros]] [all[shadows+tiddlers]tag[$:/tags/Macro]!has[draft.of]]The StateMechanism in TiddlyWiki is at the heart of how complex user interfaces can be built from WikiText.
In the browser, the TiddlyWiki display is produced by dynamically rendering the tiddler $:/core/ui/PageTemplate. Through various transclusions and other widgets it renders the entire user interface. The dynamic rendering is accomplished by a mechanism called "binding": any changes to the tiddlers in the store are dynamically reflected in the browser display.
The stack of templates that make up the TiddlyWiki display are complex but we'll focus on the line that displays the main story column:
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" template="$:/core/ui/ViewTemplate" editTemplate="$:/core/ui/EditTemplate" storyview={{$:/view}} />Breaking down the attributes applied to the list widget:
list field of the tiddler $:/StoryList. If a tiddler is added or removed from that list then it is automatically reflected in the displayed listThe $:/StoryList tiddler is an example of a StateTiddler: a tiddler that is used to hold the state of the user interface. Changes to the user interface are made indirectly, by changing the underlying state tiddlers, and letting TiddlyWiki ripple the changes through the user interface.
Note how this approach makes the open tab in the sidebar very easy to implement: it is just another list widget referencing the same state tiddler, but with a different template:
<$list filter="[list[$:/StoryList]]" history="$:/HistoryList" storyview="pop">
<$button message="tm-close-tiddler" class="tc-btn-invisible tc-btn-mini">×</$button> <$link to={{!!title}}><$view field="title"/></$link>
</$list>Now consider the implementation of the info panel within the tiddler template. We want to be able to toggle the info panel open and closed, which means that we must track its current state in a tiddler.
However, we can't track the state in a tiddler called, say, $:/InfoPanelState because every tiddler would share the same state; changing the value of the tiddler would affect all tiddlers displayed in the story.
The solution is to dynamically generate a unique title for each state tiddler that we need. We need to ensure that the same state tiddler title is generated each time a user interface element is rendered. To do that, we append together tokens representating each of the stack of transclusions that led to the current rendering location. Then that string of symbols is hashed to a simple numeric value.
The process of generating a state tiddler title is encapsulated in the qualify macro.
The "story river" (sometimes abbreviated to "story") is the sequence of tiddlers in the main column of the display.
When a tiddler is viewed or edited, then within its branch of the widget tree, the storyTiddler variable contains the title of that tiddler.
The default view template and edit template initialise storyTiddler to the value of the currentTiddler variable. This in turn will have been set by a $list widget in the relevant part of the page template.
storyTiddler is undefined outside the story river, such as in the sidebar.
<ol>
<$list filter="[prefix[J]]">
<li><<currentTiddler>>, <<storyTiddler>></li>
</$list>
</ol>
| purpose | select the names of all the story views |
|---|---|
| input | ignored |
| parameter | none |
| output | the name of each story view |
| purpose | apply JavaScript string encoding to a string |
|---|---|
| input | a selection of titles |
| output | the input with JavaScript string encodings applied |
The following substitutions are made:
| Character | Replacement |
|---|---|
\ | \\ |
" | \" |
\r (carriage return) | \\r |
\n (line feed) | \\n |
\x08 (backspace) | \\b |
\x0c (form feed) | \\f |
\t (tab) | \\t |
| Characters from 0x00 to 0x1f and characters from 0x80 to 0xffff | \\u#### where #### is four hex digits |
Also see the jsonstringify Operator.
[[Title with "double quotes" and single ' and \backslash]] +[stringify[]]
TiddlyWiki5 proporciona varias herramientas útiles para estructurar información en forma de tiddlers y estructurar las diferentes relaciones que se establecen entre ellos:
You can use this construction to cause the wrapped content to be assigned specified CSS classes or styles:
@@.myStyle
* List One
* List Two
@@
Tiene este aspecto:
... y su código HTML es:
<ul class="myStyle"><li>List One</li><li>List Two</li></ul>
Similar syntax is used to assign styles. For example:
@@background-color:red;
* List One
* List Two
@@
Tiene este aspecto:
... y su código HTML es:
<ul style="background-color:red;"><li>List One</li><li>List Two</li></ul>
Multiple styles and classes can be mixed. For example:
@@.tc-tiddler-frame
@@width:400px;
Some text
@@
Tiene este aspecto:
Some text
... y su código HTML es:
<p class="tc-tiddler-frame" style="width:400px;">Some text </p>
The following core macros make it easy to specify alternative browser-specific properties when constructing a stylesheet tiddler:
<<box-shadow shadow>>x-box-shadow properties<<filter filter>>x-filter properties<<transition transition>>x-transition properties<<transform-origin origin>>x-transition-origin properties<<background-linear-gradient gradient>>x-linear-gradient values of the background-image propertyThe following macros are documented separately:
All these macros are defined in the $:/core/macros/CSS tiddler.
| purpose | select titles from the operand interpreted as a filter expression |
|---|---|
| input | a selection of titles passed as input to the subfilter |
! input | a selection of titles passed as input to the subfilter |
| parameter | S = a filter expression |
| output | the selection of titles returned from the subfilter S |
! output | those input titles that are not returned from the subfilter S |
New in: 5.1.18 Note that the subfilter operator was introduced in version 5.1.18 and is not available in earlier versions.
<$set name="myFilter" value="[tag[one]]">
<$list filter="[all[tiddlers]subfilter<myFilter>]">
...| purpose | select all fields present in the selected tiddlers within a plugin |
|---|---|
| input | a selection of tiddler titles |
| parameter | P = the title of a plugin |
| output | all field names present in the selected tiddlers within the plugin named P |
| purpose | filter the input titles by how they end |
|---|---|
| input | a selection of titles |
| parameter | S = a string of characters |
| output | those input titles that end with S |
! output | those input tiddlers that do not end with S |
In looking for matches for S, capital and lowercase letters are treated as different.
The system tag $:/tags/KeyboardShortcut defines the tagged Tiddler as a Keyboard Shortcut Tiddler, a container for actions that get triggered when its corresponding Keyboard Shortcut Descriptor in its key field matches a keyboard combination executed by the User
The system tag $:/tags/RawMarkup marks plain text tiddlers to be included as raw markup at the bottom of the <head> section in the generated HTML file.
Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect.
The system tag $:/tags/RawMarkupWikified marks wikified tiddlers to be included as raw markup at the bottom of the <head> section in the generated HTML file.
Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.
New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/BottomBody marks wikified tiddlers to be included as raw markup at the bottom of the <body> section in the generated HTML file.
Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.
New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/TopBody marks wikified tiddlers to be included as raw markup at the top of the <body> section in the generated HTML file.
Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.
New in: 5.1.18 The system tag $:/tags/RawMarkupWikified/TopHead marks wikified tiddlers to be included as raw markup at the top of the <head> section in the generated HTML file.
Note that the wiki must be saved and reloaded in order for a raw markup tiddler to take effect. Also note that global macros are not available by default within raw markup tiddlers; you can use the ImportVariablesWidget to explicitly import them.
The system tag $:/tags/SideBarSegment marks sidebar segments
Note: You can rearrange the segments by drag-and-dropping the titles inside the tag pill
The system tag $:/tags/StartupAction/Browser marks actions only executed when running in the browser
System tags are used to give special behaviour to tiddlers.
These are the system tags defined by the TiddlyWiki core:
| can be seen at: tiddlywiki prerelease see: top left page control bubble | |
| help panel "videos" tab | |
| can be seen at: tiddlywiki prerelease. see: Tiddler toolbar | |
| used by the translators edition | |
| twitter plugin | |
| see: tiddlywiki prerelease | |
| tiddlywiki test suite |
Tiddlers are classified as system tiddlers if their title starts with the special string $:/. The only difference from ordinary tiddlers is that they are hidden from most searches and lists in the sidebar. (In particular, system tiddlers are shown in the "More/System" list).
System tiddlers provide a simple way to hide the internal components of TiddlyWiki so that they don't clutter things up, getting in the way of the users content.
Many of the system tiddlers follow the convention of using further slashes to delineate the components of the title. For example: $:/config/BitmapEditor/LineWidth.
You don't need to create your own system tiddlers, but it can be useful when customising TiddlyWiki. For example, if you create a custom palette you might call it $:/_MyPalette so that (a) it is hidden from searches/lists and (b) it will appear at the top of the system tiddler list for easy reference.
TiddlyWiki provides several macros for generating a tree of tiddler links by analysing tags:
toctoc-expandabletoc-selective-expandabletoc-tabbed-internal-nav and toc-tabbed-external-navThe difference between the last two has to do with what happens when the user clicks a link in the right-hand panel:
toc-tabbed-internal-navtoc-tabbed-external-navThe top level of the tree consists of the tiddlers that carry a particular tag, known as the root tag. Tiddlers tagged with any of those make up the next level down, and so on.
At each level, the tiddlers can be ordered by means of the list field of the parent tag tiddler. They can also be ordered by the macro's sort parameter.
The tree displays the caption field of a tiddler if it has one, or the tiddler's title otherwise.
Each tiddler in the tree is normally displayed as a link. To suppress this, give the tiddler a toc-link field with the the value no. In the examples, the SecondThree tiddler is set up like this. Clicking such a tiddler in the tree causes its branch to expand or collapse.
The table of contents is generated as an HTML ordered list. The <ol> elements always have the class tc-toc. Expandable trees have the additional class tc-toc-expandable. Selectively expandable trees (including those in the two-panel browser) have tc-toc-selective-expandable.
To make a table of contents appear in the sidebar, see How to add a new tab to the sidebar.
sort[title]These two parameters are combined into a single filter expression like this:
[tag[$tag$]$sort$]
toc-tabbed-internal-nav and toc-tabbed-external-nav take additional parameters:
$:/temp/toc/selectedTiddler. It is recommended that this be a system tiddlerThese examples derive tables of contents from the root tag Contents. See Table-of-Contents Macros for details on how to use the Table-of-Contents Macros to make your own structured table-of-contents.
You can explore the same structure with these clickable tag pills:
The tabbed example uses the real TableOfContents of this documentation instead.
<div class="tc-table-of-contents">
<<toc "Contents">>
</div>
TiddlyWiki5 formats tables using vertical bar characters like so:
|!Cell1 |!Cell2 |
|Cell3 |Cell3 |Exclamation marks are used to indicate header cells. The example renders as:
| Cell1 | Cell2 |
|---|---|
| Cell3 | Cell3 |
Table cell alignment is controlled by inserting space characters before and/or after the cell content. For example:
|Left aligned content |
| Right aligned content|
| Centred content |
|+++ a very wide column so we can see the alignment +++|The example renders as:
| Left aligned content |
| Right aligned content |
| Centred content |
| +++ a very wide column so we can see the alignment +++ |
Vertical alignment of cells is done by inserting either a ^ for top alignment or a , for bottom alignment as the first character of a cell. The normal horizontal alignment is still possible. For example:
|^top left |^ top center |^ top right|
|middle left | middle center | middle right|
|,bottom left |, bottom center |, bottom right|The example renders as:
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
| :: :: | top left | top center | top right | :: :: |
| :: :: | middle left | middle center | middle right | :: :: |
| :: :: | bottom left | bottom center | bottom right | :: :: |
| :: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | ::::::::::::::::::::::::::: | :: |
If you need to have a ^or a , as the first character of a left aligned cell, you can use HTML escaping:
^ | ^ |
, | , |
To merge a table cell with the one above, use the special cell text ~. To merge a cell with the one to its left use the text <. To merge one to its right use >. For example:
|Cell1 |Cell2 |Cell3 |Cell4 |
|Cell5 |Cell6 |Cell7 |<|
|Cell5 |~|Cell7 |Cell8 |
|>|Cell9 |Cell10 |Cell11 |Renders as:
| Cell1 | Cell2 | Cell3 | Cell4 |
| Cell5 | Cell6 | Cell7 | |
| Cell5 | Cell7 | Cell8 | |
| Cell9 | Cell10 | Cell11 | |
Table CSS classes, captions, headers and footers can be specified as special pseudo-rows. The following example:
|myclass anotherClass|k
|This is a caption |c
|Cell1 |Cell2 |
|Cell3 |Cell3 |
|Header|Header|h
|Footer|Footer|fRenders as:
| Cell1 | Cell2 |
| Cell3 | Cell3 |
| Header | Header |
| Footer | Footer |
The tabs macro presents a selection of tiddlers as a set of tabs that the user can switch between.
The tabs display the caption field of a tiddler if it has one, or the tiddler's title otherwise. If specified, the tabs display the tooltip field of a tiddler as the respective button tooltip.
By default the tabs are arranged horizontally above the content. To get vertical tabs, set the class parameter to tc-vertical.
$:/state/tab. It is recommended that this be a system tiddlerdiv elements. Multiple classes can be separated with spacesWithin the template, the title of the selected tab is available in the currentTab variable.
The currentTiddler variable is not affected by the tabs macro. This can put you in trouble if the list of tabs includes tiddlers that depend on the value of the currentTiddler, for example tiddlers listing children based on its own name. To overcome this problem you can use a TemplateTiddler like the following:
<$tiddler tiddler=<<currentTab>>>
<$transclude mode="block" />
</$tiddler><<tabs "SampleTabOne SampleTabTwo SampleTabThree SampleTabFour" "SampleTabOne" "$:/state/tab1">>
<<tabs "[tag[sampletab]]" "SampleTabTwo" "$:/state/tab2" "tc-vertical">>
<<tabs "[tag[sampletab]nsort[order]]" "SampleTabThree" "$:/state/tab3" "tc-vertical">>
The tag macro generates a tag pill for a specified tag.
| purpose | filter the input by tag |
|---|---|
| input | a selection of titles |
| suffix | S = New in: 5.1.14 optional strict flag |
| parameter | T = the title of a tag |
| output | those input tiddlers that have tag T |
! output | those input tiddlers that do not have tag T |
The output is sorted using the tag's list field and the tiddlers' list-before and list-after fields.
The behaviour when T is empty depends on the settings of the S optional suffix:
T is missing and S is either missing or set to "loose", then the output of tag is empty, and the output of !tag is a copy of the input.T is missing and S is set to "strict", then the output of both tag and !tag is a copy of the input[tag[task]]
[tag[task]!tag[done]]
[!tag[task]]
[all[shadows]tag[$:/tags/Stylesheet]]
The tag-pill macro generates a static tag pill showing a specified tag, but without the dropdown action provided by the tag Macro.
Poner etiquetas es una forma de organizar tiddlers en categorías.
Por ejemplo, si tuvieras una serie de tiddlers que representa a un grupo de gente que conoces, podrías etiquetarlos como amigo, familiar, colega...etc, para indicar tu relación con ellos.
Una etiqueta es, de hecho, un tiddler (o un tiddler en potencia) y también puede tener sus propias etiquetas. Además puedes añadir cualquier número de etiquetas a un mismo tiddler.
En Crear y editar tiddlers te decimos cómo etiquetar tiddlers.
Al etiquetar tiddlers, puedes ver, buscar y organizar la información de múltiples maneras:
Hay un par más de cosas que se pueden hacer con etiquetas:
Se puede usar el gestor de etiquetas de la pestaña Más de la barra lateral para cambiarles el color o para añadirles un icono.
Por defecto, los tiddlers se muestran en orden alfabético.
Si quieres cambiarlo, añade el campo list al tiddler y como valor enumera los tiddlers según el orden que quieras que tengan en la lista.
El campo list no necesita enumerarlos a todos. En Orden de los tiddlers etiquetados se especifican más concretamente las reglas que sigue TiddlyWiki para ordenarlos.
| purpose | find the tiddlers that have the input tags |
|---|---|
| input | a selection of tags |
| parameter | none |
| output | the titles of any tiddlers that carry the input tags |
Each input tag is processed in turn. The list of tiddlers carrying that tag is generated, sorted, and then dominantly appended to the operator's overall output.
[[task]tagging[]]
[tag[task]]Concepts task +[tagging[]]
[all[current]tagging[]]
| purpose | select all tags of the input tiddlers |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | all the tags carried by the input tiddlers |
Each input title is processed in turn. The corresponding tiddler's tags are retrieved (in order of appearance in the tags field) and then dominantly appended to the operator's output.
Un TagTiddler o "tiddler etiqueta" es un tiddler cuyo título se usa para etiquetar a otros.
La pestaña Etiquetado del InfoPanel muestra qué tiddlers usan el título del actual como etiqueta.
Se pueden usar etiquetas sin correspondencia con un TagTiddler.
TiddlyWiki5 sirve también como sencillo sistema de administración de tareas, sin necesidad de mayores complicaciones. La idea consiste en etiquetar las tareas como task, de modo que una vez hechas se etiqueten también como done. Así resulta bastante sencillo generar listas de tareas.
Aquí tienes un ejemplo:
This is a version of the TaskManagementDemo enhanced with the ability to drag and drop the task list to re-order them.
Drag the tasks to re-order them
(Listed in reverse order of completion)
Al redactar material didáctico, empieza por planificar la información que quieres presentar como un itinerario: debe ser una progresión sencilla, lógica y directa de ideas, sin retrocesos ni saltos. Aplica este enfoque incluso en frases sueltas, de modo que el discurso vaya de la causa al efecto y de lo viejo conocido a lo nuevo desconocido.
Usa frases cortas y sencillas. Una frase en estilo técnico y claro raramente contiene más de una idea, por eso se evita el uso de paréntesis. De igual manera, haz que la estructura de los párrafos sea sencilla. Una presentación lisa y llana suele ser más fácil de comprender que una una exposición jerarquizada de conceptos.
A menudo se puede simplificar una frase sin necesidad de cambiar su significado, tanto como para ajustar su vocabulario o estructura gramatical. "Se realiza la ejecución de la macro" sólo significa "Macro en ejecución". "Tus expectativas podrían ser..." es lo mismo que "puedes esperar que...".
Usa preferentemente la voz activa: "Fulano crea un tiddler" es mejor que "un tiddler es creado por Fulano" o "se crea un tiddler por Fulano". El uso de oraciones pasivas o impersonales puede ser útil cuando se quiere que el lector se centre en una acción o en su resultado: "se crea un tiddler", pero en general es más claro partir de una causa y explicar su efecto y decir algo del estilo de "esta acción crea un tiddler", de la forma más natural y sencilla posible.
En la documentación generalmente se presentan conceptos paralelos, bien por su parecido, bien por su diferencia. Al lector puede serle más fácil comprenderlo si se usan las mismas frases o la misma estructura de exposición, pero debe de hacerse de manera equilibrada para que no resulte monótono.
Son preferibles las instrucciones claras y precisas a una larga e intrincada explicación. Si algo tiene nombre, úsalo. Si no lo tiene, ponlo en un tiddler.
A template tiddler is not actually a type of tiddler, it is a role in which a tiddler can be used.
Templates are a way to re-use chunks of WikiText.
Transcluding through a template extends the basic functionality of Transclusion by combining two tiddlers:
The best example of templating is the main story river in TiddlyWiki. Each tiddler in the story river is rendered through a ViewTemplate that specifies how each field is to be rendered.
See Transclusion with Templates for details.
El Cortatextos es una edición especial que contiene herramientas para dividir largos textos en tiddlers individuales.
A TextReference is a general purpose way to describe a fragment of text as either a field of a tiddler, or an index within a data tiddler.
In different situations, text references can be used to retrieve values, or to specify a value that should be modified.
A TextReference consists of several parts:
!!)##)Most of the parts of a text reference can be optional:
tiddlerTitle - the text field of the specified tiddlertiddlerTitle!!field - a tiddler field (eg, modified, modifier, type etc)!!field - a field of the current tiddlertiddlerTitle##propertyIndex - extracts a named property from DataTiddlersText references can be used in several places:
<$list filter="[tag{MyTag!!name}]"/>)<$widget attrib={{Title!!description}}/>){{MyTiddler!!title}})state attribute of the RevealWidget and the LinkCatcherWidgetThe text widget displays plain text without parsing it as WikiText, opposite of WikifyWidget.
The content of the <$text> widget is not used.
| Attribute | Description |
|---|---|
| text | The text to display |
<$vars string="//italic//">
* <<string>>
* <$text text=<<string>>/>
</$vars>Displays as:
- italic
- //italic//
A number of extended filters are necessary to manipulate lists.
The first set of filters are designed to move items from the tail of the list and insert them at specified locations in the list. Items are often appended to the list before using these filters. In general, these filters accept a suffix specifying the number of items to move (default to 1.)
A second set of filters are designed to either add or remove from the list, a selected range of items from an array. These filters are best used with a reference to an array, stored in a field or data index elsewhere in the wiki (they may be used with a simple list of items, provided the items do not include white space.) In general, these filters accept a suffix specifying the number of items to move (default to All.)
In this example we shall populate the 'DataIndex' index of the tiddler 'MyData' with the names of the days of the week, then clear this list.
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[list[Days of the Week]]"/>
Get days-of-the-week
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]"/>
Clear
</$button>
{{ListopsData}}Este es su aspecto:
DataIndex:
In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to insert items before and after a marker item (Wednesday) that are first appended to the list.
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="one two +[putbefore:2[Wednesday]]"/>
Put 2 Items Before Wednesday
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="four five +[putafter:2[Wednesday]] three +[putbefore[Wednesday]]"/>
Put One Item Before & Two Items After Wednesday
</$button>
{{ListopsData}}Este es su aspecto:
DataIndex:
In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to replace the marker item (Wednesday) with items which are first appended to the list. We shall then move 3 items to the head of the list which have first been appended to the list from referenced fields.
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[[---o]] [[o---]] +[replace:2{!!marker}]"/>
Replace '!!marker' with 2 Items
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="[{!!item1}] [{!!item2}] [{!!item3}] +[putfirst:3[]]"/>
Put 3 Items First
</$button>
{{ListopsData}}Este es su aspecto:
DataIndex:
In this example we shall slice the populated list from the 'DaysOfTheWeek' index of the tiddler 'MyData' in order to append to the truncated list, items from a referenced field. We shall then remove the first two of the items added.
|list: |<$view field="list"/> |
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[allbefore:include[Wednesday]] +[prepend{!!list}]"/>
Prepend '!!list' to items before 'Wednesday'
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[remove:2{!!list}]"/>
Remove first two items in '!!list' from current list
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!remove:1{!!list}]"/>
Remove last item in '!!list' from current list
</$button>
{{ListopsData}}Este es su aspecto:
| list: | Yesterday Today Tomorrow |
DataIndex:
In this example we shall populate the list with numbers, then move items one by one from the head to the tail and from the tail to the head (best seen by clicking the lower buttons several times.)
This example illustrates that the append[] and prepend[] operators do not enforce unique instances of an item and that, with the next run, any duplicates are removed.
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $filter="[[]]" $subfilter="+[append:3{!!numbers}]"/>
Setup some numbers
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[!append:6{!!numbers}]"/>
Append more numbers
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putfirst:2[]]"/>
Move last 2 items to the head
</$button>
<$button>
<$action-listops $tiddler="ListopsData" $index="DataIndex" $subfilter="+[putlast[]]"/>
Move the head to the last item
</$button>
{{ListopsData}}Este es su aspecto:
DataIndex:
Cada tanto se cuentan en los grupos de discusión historias que parten el corazón sobre usuarios que por uno u otro motivo han perdido los datos guardados en TiddlyWiki:
Mi TiddlyWiki acaba de ser borrado por completo durante un cuelgue de Firefox cuando guardaba...
https://groups.google.com/d/topic/tiddlywiki/oG2L7OXhUoI/discussion
La última vez que lo usé fue anoche, en casa, en mi ordenador con Windows 7. Le di a para guardar la última entrada y se guardó via TiddlyFox. Expulsé el USB, llegué al trabajo esta mañana, enchufé el USB, metí la contraseña y, como se negaba a abrir, después de varios intentos busqué el archivo html de TW5. Fue entonces cuando me di cuenta de que el tamaño del archivo ya no es de 3Mb, sino de 80Kb. Me parece que lo he perdido todo.
https://groups.google.com/d/topic/tiddlywiki/SXStDJ0ntGI/discussion
¡Que no te pase a ti!!
¡¡Haz copia de seguridad!!
TiddlyWiki es un sistema altamente flexible y customizable que te pone firmemente a cargo de tus datos. En el desarrollo de TiddlyWiki se pone todo el cuidado posible para garantizar que es un lugar seguro donde guardar tus datos más preciados. Sin embargo y en última instancia, la responsibilidad de reducir el riesgo de pérdida de datos recae sobre sus usuarios.
La mejor manera de asegurarse de que tus datos están seguros es mediante un riguroso sistema de "backup" o copia de seguridad.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This is an example tiddler. See Table-of-Contents Macros (Examples).
Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
Here is an example of the thumbnail-right macro used to create a video thumbnail that floats to the right of the text
<<thumbnail-right link:"Introduction Video" image:"Introduction Video Thumbnail.jpg" caption:"Introduction to ~TiddlyWiki" icon:"{{$:/core/images/video}}" color:"red">>
Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.
This example tiddler is used to illustrate some of the Filter Operators.
before and afterThese examples make use of the Days of the Week tiddler.
[list[Days of the Week]before{!!title}]
[list[Days of the Week]after{!!title}]
Conforme a nuestra filosofía, los tiddlers de la documentación son breves y están interrelacionados.
Cuando parece que un tiddler necesita subapartardos, es señal de que quizá convendría dividirlo en tiddlers más pequeños. Es razonable, sin embargo, que un tiddler de referencia vaya encabezado por una sección introductoria general, seguido de una serie de secciones.
Coherencia terminológica es esencial para no confundir al lector.
Consistencia tipográfica y de puntuación dan calidad profesional a la documentación. El uso de macros se recomienda por razones de consistencia del texto y de mantenimiento de futuras revisiones.
Se aconseja el uso de listas numeradas para intrucciones paso-a-paso y el de viñetas para listas cuyo orden es arbitrario. Se prefiere el uso de listas de definición sobre el de listas con viñetas si cada elemento de la lista comienza con un término y dos puntos. En la medida de lo posible conviene evitar niveles excesivos de anidamiento de listas.
Conviene usar tablas cuando la información encaja naturalmente en tres o cuatro columnas y para listas de parámetros, atributos... etc
La documentación describe la realidad actual de TiddlyWiki y debe evitarse discutir futuras aspiraciones del proyecto.
Muchos tiddlers de la documentación, especialmente los de referencia, hacen referencia a un único concepto. Sus títulos debieran ser sintagmas nominales simples y claros como List Widget, TiddlerFields o Material de referencia.
En la edición original inglesa, cada sustantivo del título se escribe con mayúscula, mientras que artículos, preposiciones y conjunciones se escriben con minúscula. Ej:Ejemplo de Título de la Edición en Inglés
En la presente edición en castellano, sólo lleva mayúscula la palabra inicial del título y el resto se escribe en minúscula y termina sin punto: Ejemplo de título de la edición en castellano
Las etiquetas siguen también este mismo patrón.
Los títulos de este tipo son en plural si se refieren a una categoría de elementos: —Ej: Atajos de teclado—, ya que etiquetan tiddlers más específicos dentro de su categoría.
Cuando el objeto del título sea un concepto más que una categoría, se enuncia en singular. Ej:List Widget, Operador de etiqueta
En la edición inglesa, los títulos comienzan enunciando su parte más distintiva. Por ejemplo, los tiddlers que documentan operadores de filtro tienen títulos del estilo addprefix Operator. De este modo, en teoría, el lector puede identificar rápidamente un tiddler particular en una lista de enlaces.
En la presente edición en castellano, sin embargo y por coherencia gramatical, los títulos se enuncian en el orden lógico y acostumbrado en nuestra lengua. El ejemplo anterior sería, por tanto: Operador addprefix. Nótese, sin embargo, lo siguiente:
Estilo de los títulos)Estilo: Títulos)Al redactar material de referencia debe evitarse que el título comience con artículo y en general debe evitarse el abuso de determinantes.
En anteriores ediciones, muchos títulos se escribían en CamelCase. Para hacerlos más legibles, se ha ido abandonando gradualmente esta práctica y se desaconseja su uso, salvo en casos como TiddlyWiki o JavaScript, ya que tal es su forma estándar.
TiddlerFields are name:value pairs that make up a tiddler. Field names must be lowercase letters, digits or the characters - (dash), _ (underscore) and . (period).
The standard fields are:
| Field Name | Reference | Description |
|---|---|---|
title | TitleField | Nombre único de un tiddler |
text | TextField | Texto principal de un tiddler |
modified | ModifiedField | Fecha y hora de última modificación |
modifier | ModifierField | Nombre del tiddler asociado con quien modificó por última vez el presente tiddler |
created | CreatedField | Fecha de creación del tiddler |
creator | CreatorField | Nombre del autor del tiddler |
tags | TagsField | Lista de etiquetas asignadas al tiddler |
type | TypeField | Tipo de contenido en un tiddler |
list | ListField | Lista ordenada de tiddlers asociados al presente tiddler |
caption | CaptionField | Texto que se muestra en una pestaña o botón, con independencia del título del tiddler que lo define |
Other fields used by the core are:
| Field Name | Reference | Description |
|---|---|---|
class | ClassField | |
color | ColorField | Valor CSS del color de fondo asociado a un tiddler |
description | DescriptionField | Descripción de un complemento, extensión, o diálogo modal |
draft.of | DraftOfField | Título del tiddler del que el actual es borrador |
draft.title | DraftTitleField | Nuevo título propuesto para el presente borrador |
footer | FooterField | Texto al pie que figurará en un asistente |
icon | IconField | Nombre del tiddler que contiene el icono que se quiere asociar al presente tiddler |
library | LibraryField | Si su valor es "Sí", indica que el tiddler debe guardarse como librería de JavaScript |
list-after | ListAfterField | Título del tiddler tras el que el presente será añadido a una lista de tiddlers. |
list-before | ListBeforeField | Título del tiddler antes del que el presente será añadido a una lista |
name | NameField | Nombre asociado con un complemento o extensión |
plugin-priority | PluginPriorityField | Valor numérico que indica la prioridad de un complemento o extensión |
plugin-type | PluginTypeField | Tipo de complemento o extensión |
source | SourceField | Dirección de la fuente asociada a un tiddler |
subtitle | SubtitleField | Subtítulo que figurará en un asistente |
The TiddlyWebAdaptor uses a few more fields:
| Field Name | Reference | Description |
|---|---|---|
bag | BagField | Nombre de la bolsa de la que procede un tiddler |
revision | RevisionField | Revisión del tiddler existente en el servidor |
See the Advanced > Tiddler Fields tab of the control panel for details of the fields used in this wiki.
Tiddlers can be stored in text files in several different formats. Files containing single tiddlers can also have an auxiliary .meta file formatted as a sequence of name:value pairs:
title: TheTitle
modifier: someoneThese files consist of a sequence of lines containing name:value pairs, a blank line and then the text of the tiddler. For example:
title: MyTiddler
modifier: Jeremy
This is the text of my tiddler.Note that many text editors require that files include a terminating newline. If you want to avoid including the terminating newline in the text of the tiddler you can use this alternative syntax:
title: MyTiddler
modifier: Jeremy
text: This is the text of my tiddler.The ContentType application/x-tiddler is used internally for these files
<DIV> .tiddler filesIn TiddlyWiki 5, *.tiddler files look like this:
<div title="AnotherExampleStyleSheet" modifier="blaine" created="201102111106" modified="201102111310" tags="examples" creator="psd">
<pre>Note that there is an embedded <pre> tag, and line feeds are not escaped.
And, weirdly, there is no HTML encoding of the body.</pre>
</div>These *.tiddler files are not exactly the same as the tiddlers inside a TiddlyWiki HTML file where they are HTML encoded.
Older *.tiddler files more closely matched the store format used by TiddlyWiki at the time:
<div tiddler="AnotherExampleStyleSheet" modifier="JeremyRuston" modified="200508181432" created="200508181432" tags="examples">This is an old-school .tiddler file, without an embedded <pre> tag.\nNote how the body is "HTML encoded" and new lines are escaped to \\n</div>The ContentType application/x-tiddler-html-div is used internally for these files
These files are a straightforward array of hashmaps of name:value properties. All field values must be specified as strings.
For example:
[
{
"title": "First Tiddler",
"text": "Text of first tiddler",
"tags": "one two [[t h r e e]]"
},{
"title": "Second Tiddler",
"text": "Text of second tiddler",
"modified": "20150216171751154"
}
]The ContentType application/json is used internally for these files
TiddlyWiki HTML files contain a collection of tiddlers encoded in <DIV> format.
For TiddlyWiki to import an unencrypted HTML file, it requires a <div id="storeArea"> containing tiddler DIVs as explained above. For example:
<div id="storeArea">
<div created="20130302085406905" modified="20130302084548184" tags="Examples" title="A tiddler title">
<pre>HTML encoded text of tiddler
</pre>
</div>
<div created="20140315085406905" modified="20140321084548184" tags="One Two [[Three with Space]]" title="Another title" customfield="field value">
<pre>Text of this tiddler
</pre>
</div>
</div>Un enlace es la región de un tiddler sobre la que se puede hacer clic para navegar a otro. El comportamiento de navegación lo determina el StoryView actual. La vista "classic" muestra la historia como una secuencia lineal de tiddlers.
Si se mantiene pulsada la tecla Ctrl o command al hacer clic en un enlace, se abre el tiddler de destino, pero no se navega hasta él. Esta es una forma muy útil de poner en cola una serie de tiddlers para su lectura.
Los enlaces o links son útiles para modelar relaciones orgánicas entre tiddlers y, más particularmente, para iterar la navegación entre tiddlers.
El Panel de información muestra en la pestaña Referencias una lista de los links que llegan al tiddler.
En Filtros se pueden incluir los siguientes operadores para trabajar con enlaces:
[links[]] - devuelve el título de los tiddlers enlazados desde el tiddler o selección actual de tiddlers.[backlinks[]] - devuelve el título de los tiddlers que enlazan con el tiddler o selección actual de tiddlers.TiddlyWiki5 modifica la apariencia de los enlaces para dar información adicional sobre el tipo de tiddler al que se enlaza:
| Descripción del link | Apariencia |
|---|---|
| A un tiddler existente | TalCual |
| A un tiddler que no existe (faltante) | TalCual |
| A un tiddler oculto que no ha sido anulado | TalCual |
| A un tiddler oculto que ha sido anulado por un tiddler común | TalCual |
Los enlaces externos se muestran así: https://tiddlywiki.com/ o así.
Los Tiddlers son las unidades fundamentales de información en TiddlyWiki.
Funcionan mejor cuanto más pequeños son, de modo que puedan entretejerse más fácilmente de las más diferentes formas posibles.
Otros sistemas tienen conceptos análogos con nombres genéricos como "items", "entradas", "entidades", "nodos" o "records". TiddlyWiki es de la opinión de que es preferible ser vagamente preciso a ser vagamente genérico; de ahí que nos guste «Tiddler», que en origen es una palabra coloquial inglesa, usada para referirse a un pez pequeño.
Internamente, los tiddlers se componen de una lista de valores únicos llamados campos. El único campo obligatorio es título, pero los tiddlers útiles tienen también un campo texto y todos o algunos de los campos estándar que se muestran en TiddlerFields.
En TiddlyWiki, los tiddlers están por todas partes. Sirven para guardarlo todo, desde módulos en código de JavaScript, a ajustes y configuraciones asociadas a la interfaz de usuario.
The TiddlerWidget is used to set a value for the current tiddler variable, valid within the scope of the TiddlerWidget.
| Attribute | Description |
|---|---|
| tiddler | The title of the tiddler to become the new current tiddler |
The tiddler widget assigns several useful CSS classes to variables that it creates:
tc-tiddler-exists or...tc-tiddler-missing depending on whether the tiddler existstc-tiddler-shadow if the tiddler is a shadow tiddler tc-tiddler-system if the tiddler is a system tiddlertc-tagged-{tagname},tc-tagged-introductiontc-tagged-%24%3A%2Ftags%2FMacro. See How to apply custom styles by tag for more detailsYou can use these variables like this:
<$tiddler tiddler="MyOtherTiddler">
<div class=<<missingTiddlerClass>>>
<$transclude/>
</div>
</$tiddler>See also $:/core/ui/ViewTemplate.
An extension application for Google Chrome that enables TiddlyWiki to save changes directly to the file system.
BuggyJay's TiddlyClip browser extension for Firefox permits clipping of text and graphics from web pages:
http://tiddlyclip.tiddlyspot.com
TiddlyClip allows parts of webpages to be clipped into a TiddlyWiki, and consists of two parts, the browser addon and the TiddlyWiki plugin. The addon is completely memoryless, any configuration is determined by the current TiddlyWiki that the user has select to work with (we say that the addon is docked to the TiddlyWiki). TiddlyClip is designed to work (in a basic mode) without configuration. Once the addon and plugin are installed, all the user has to do is select which TW to dock to.
TiddlyDesktop es una aplicación de escritorio para trabajar con archivos de TiddlyWikii, tanto del veterano TiddlyWiki Classic, como del nuevo TiddlyWiki5. Se puede instalar en ,Windows, Mac OS X o Linux.
Aquí hay un video de introducción a TiddlyDesktop
TiddlyDesktop se basa en NW.js, proyecto de código abierto y la fuente se encuentra en GitHub:
https://github.com/Jermolene/TiddlyDesktop/
Consulta las versiones de TiddlyDesktop
The latest release of TiddlyDesktop can be found at https://github.com/Jermolene/TiddlyDesktop/releases/latest, or you can see a list of all releases.
An add-on for Google Drive that allows TiddlyWiki files stored there to be opened and saved directly
https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo
I made an app that lets one edit TiddlyWiki files saved in your Google drive and then saving them back automagically. The page is here https://chrome.google.com/webstore/detail/tiddly-drive/oaphhjhbbabdjnpjpiliepphpmnioolo but I think you need to add it from the Google Drive web interface.
I even added an optional ability to save with ctrl + s hotkeys.
Joshua's launch post
TiddlyFox is an extension for older versions of Firefox that allows standalone TiddlyWiki files to save their changes directly to the file system. TiddlyFox works on both desktop and smartphone versions of Firefox. See Saving with TiddlyFox or Saving with TiddlyFox on Android for detailed instructions.
TiddlyFox is now obsolete due to its incompatibility with the latest versions of Firefox - see Firefox Apocalypse. There are many alternatives to TiddlyFox, but none that work in precisely the same way – see GettingStarted for details.
TiddlyFox can be downloaded from the Mozilla Addons site:
https://addons.mozilla.org/en-GB/firefox/addon/tiddlyfox/
You can also install the latest development version of TiddlyFox direct from GitHub:
https://github.com/TiddlyWiki/TiddlyFox/raw/master/tiddlyfox.xpi
On 14th November 2017 Mozilla released Firefox 57, a major new version with many improvements and security enhancements. However, in amongst those improvements are some fundamental changes to Firefox's security model with the unfortunate effect of making it impossible for TiddlyFox to function.
TiddlyFox will remain available for people who continue to use older versions of Firefox, but anyone upgrading to the new version will need to choose a new way to handle saving changes with TiddlyWiki.
Happily, several new ways of working with TiddlyWiki now exist so that users have many alternative choices – see GettingStarted for details. The demise of TiddlyFox has provoked several of these recent developments and thus may well ultimately be good for the community.
There is a discussion thread on the TiddlyWiki forums about these developments.
Firefox was first released in November 2004, a few months after the first version of TiddlyWiki. It was in many ways the Millenium Falcon to Microsoft's Death Star (in the shape of Internet Explorer). IE had by then enjoyed more than 5 years as the dominant browser, leading many in the web community to be frustrated that Microsoft's self-serving extensions to HTML had become de facto standards at the expense of innovation that might benefit the web community as a whole.
Firefox quickly became successful because it managed to render web pages with close enough compatibly with Internet Explorer while offering a superior user experience. A large part of the promise of that user experience was the ability for any user to customise every aspect of the browser. Two innovations were behind this:
These two conditions enabled a vibrant ecosystem of Firefox add-ons, many of them extremely popular. In many cases, innovations that were first seen in browser add-ons later became integrated into the browser itself, most notably the web debugger Firebug which was eventually cloned by all the browser manufacturers.
Firefox continued to be extremely popular until Google joined the development of the rival WebKit browser to make Chrome. Google took a very different approach to the trade offs of making a browser, focusing on improving security at the expense of almost all other considerations. They pioneered approaches such as isolating each tab in its own process that were quickly adopted by all other major browsers.
Google's approach precluded them adopting Mozilla's free-for-all approach to add-ons. Instead of having access to the entire browser environment and filing system, add-ons in Chrome see only a restricted subset of what is going on within the browser, and enjoy little or no access to the resources of the host machine.
It was inevitable that Mozilla would eventually adopt Google's approach to browser security vis-a-vis add-ons. There is a point at which it wouldn't be responsible for Mozilla to be releasing a browser that had knowingly worse security than the market leader.
Some of the fecundity of the TiddlyWiki ecosystem stems from the adoption of the above two principles from Firefox:
Those two characteristics present similar security challenges to TiddlyWiki as they did to Firefox. A TiddlyWiki that was primarily focused on security would need to curtail those abilities.
Innovation on new browser-based user interfaces and capabilities has now shifted from browser extensions to a new generation of frameworks that simplify creation of a custom browser based on an off-the-shelf open source HTML rendering engine. TiddlyDesktop uses nwjs, while Beaker Browser uses an alternative called Electron.
TiddlyIE is an extension for Internet Explorer that allows standalone TiddlyWiki files to save their changes directly to the file system. TiddlyIE works with the desktop version of Internet Explorer.
See Saving with TiddlyIE.
An interactive network visualisation plugin based on Vis.js. A demo that also contains installation instructions can be found here: http://tiddlymap.org. The plugin's GitHub repository can be found here.
TiddlyMap is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable graphs. By creating relations between your topics you can easily do the following:
- Create concept maps and quickly manifest your ideas in tiddlers.
- Create task-dependency graphs to organize and describe your tasks.
- Visualize your topic structures to get an immediate grasp of topics and relations.
In general you may create, visualize and describe any network-structure you have in mind.
An extension to the Node.js configuration of TiddlyWiki that adds support for static attachments and for working with multiple wikis at the same time.
https://github.com/Arlen22/TiddlyServer
TiddlyServer 2.0 takes the server command of TiddlyWiki on NodeJS and adds it to a static file server. This means you can load and serve any TiddlyWiki data folder in the same way you can serve a single file TiddlyWiki.
But you don't need to serve files and folders from just one place, you can serve them from multiple places anywhere on your harddrive (literally anywhere NodeJS can stat, readdir, and readFile). You can even organize them into virtual folders (aka aliases in Apache and mounts in Express).
The main point, of course, is that you can actually edit your files, not just look at them. Single file TiddlyWikis use the put saver, which needs to be patched using a bookmarklet included on the index page. The instructions for this are below under the heading "One thing that needs to be noted".
And, of course, you can edit data folder tiddlywikis just like you were running node tiddlywiki.js data –server, except that you run it on the path that you found it at (e.g. http://localhost/personal/notes/). You can have as many data folders open as you want, they don't conflict (though they will each take memory).
Data folders store individual tiddlers instead of entire wikis. They take less disk space as they also do not store the core and plugins. This means they also save much quicker, especially over the internet. They also save immediately (within 10 seconds or so) and they save drafts.
TiddlySpace es un entorno web para TiddlyWiki, construido desde TiddlyWeb.
TiddlySpace fue originalmente esponsorizado por Osmosoft en BT.
TiddlySpot es un servicio de alojamiento gratuito para documentos de TiddlyWiki hecho por Simon y Daniel Baird. La manera más sencilla de empezar a usarlo es registrarse en http://tiddlyspot.com. Por defecto muestra la última versión de TiddlyWiki Classic, pero es totalmente compatible con TW5
TiddlyWeb es una aplicación de servidor que publica Tiddlers en la web:
TiddlyWeb puede usarse para alojar wikis hechos en TiddlyWiki Classic y TiddlyWiki5, de modo que los tiddlers individuales estén disponibles en una API HTTP flexible.
TiddlyWeb fue originalmente esponsorizada por Osmosoft en BT, junto con TiddlySpace.
The web server API uses tiddlers in a special format originally designed for TiddlyWeb:
For example, consider the following tiddler:
{
"title": "HelloThere",
"tags": "FirstTag [[Second Tag]]",
"my-custom-field": "Field value"
}In transit over the API, the tiddler would be converted to the following format:
{
"title": "HelloThere",
"tags": "FirstTag [[Second Tag]]",
"fields": {
"my-custom-field": "Field value"
}
}TiddlyWiki es una potente herramienta interactiva para la manipulación de información compleja con estructura que no encaja fácilmente en las herramientas tradicionales, como hojas de cálculo o procesadores de texto.
TiddlyWiki está diseñado para adaptarse a tu forma de pensar y ayudarte a manejar todo aquello que no acaba de encajar. La idea fundamental es que la información es más útil y está más a mano si la dividimos en unidades mínimas, semánticamente significativas –tiddlers– y le damos títulos que permitan estructurarlas mediante enlaces, etiquetas, listas y macros.
Los tiddlers se valen de una notación especial que llamamos WikiText para explotar, de forma sencilla, una amplia variedad de opciones de formato de texto y enlace hipertextual. TiddlyWiki tiene como objetivo proporcionar una interfaz fluida de trabajo que permita agregar tiddlers y componer así narraciones más largas.
La gente adora TiddlyWIki. Primero, porque puede usarse tal cual, sin necesidad de complicadas infrastructuras de servidor y, porque al ser de código abierto, brinda una libertad sin precedentes para que cualquiera pueda mantener su información más preciada bajo su propio control.
TiddlyWiki fue creado originalmente por JeremyRuston y es en la actualidad un próspero proyecto open source, con una animada comunidad de desarrolladores independientes.
The first TiddlyWiki Camp Paris was held on Saturday 6th June 2015.
Bienvenue sur le site du TiddlyWiki Camp. Un évènement pour rencontrer la communauté de ce logiciel Open Source, libre et gratuit. Découvrez ce bloc note personnel polyvalent et adoptez-le pour gérer votre quotidien !
Originally built by Jeremy Ruston and now maintained by Arlen Beiler, TiddlyWiki Cloud (formerly known as TiddlyWiki in the Sky for Dropbox) is an online service that lets you edit TiddlyWiki documents directly in your own Dropbox using just a browser.
It works with TiddlyWiki 5 and Classic.
La comunidad TiddlyWiki mantiene reuniones periódicas online con Google Hangouts. Normalmente, los martes, de 17:00 a 19:00 hs (hora central europea).
De todos modos, se anuncian debidamente en el Grupo de TiddlyWiki y en la cuenta @TiddlyWiki de Twitter.
Los últimos Hangouts están archivados en este canal de YouTube:
TiddlyWiki in the Sky para TiddlyWeb permite sincronizar contenidos entre TiddlyWiki en el navegador y el servidor de TiddlyWeb (o TiddlySpace). Sus características incluyen:
Para probar TiddlyWiki in the Sky para TiddlyWeb:
tw5tiddlywebhttp://<mi_espacio>.tiddlyspace.com/tw5A catchy jingle for TiddlyWiki.
https://musescore.com/node/796056
Even if it sounds like some ol' jazz tune it IS an original composition and it should be quite obvious that the "hook of the melody" is a trill made by singing Tidd-ly Wiki :-).
My lacking skills for writing text/lyrics should be apparent in the fact that the text consists of 12 Tidd-ly Wikis and some extra "tiddly's" - just for the sake of getting the message delivered ;-)...
I've recorded every instrument on my guitar via a guitar synth on a loop machine (except for the drums - they were played live/in sync with the loop station on a "BeatBuddy" drum pedal..) - no pc was involved..
Este breve screencast muestra cómo configurar Firefox para Android para guardar cambios en TiddlyWiki:
Ejecutar TiddlyWiki en Node.js tiene una serie de importantes ventajas sobre la versión de archivo único:
Para mayor información, consulta:
Here are the details of recent releases of TiddlyWiki5. See TiddlyWiki5 Versioning for details of how releases are named. Note that archived versions of release source files are available at https://github.com/Jermolene/TiddlyWiki5/releases
If you are using node.js, you can also install prior versions like this:
npm install -g tiddlywiki@5.1.13
(BetaReleases and AlphaReleases are listed separately).
Released 6 diciembre 2018 at 09:00
See GitHub for detailed change history of this release
This version introduces new infrastructure to handle global keyboard shortcuts. The core ships with the following shortcuts:
See How to create keyboard shortcuts
The HTTP WebServer functionality has been significantly improved:
See WebServer for more details, or see the changes on GitHub.
In previous versions of TiddlyWiki, there were some special character sequences in tiddler titles that would break certain features. For example, a tiddler title ending in double quotes would cause the Table-of-Contents Macros to render incorrectly.
As of 5.1.18, many of these problems have been fixed by refactoring the features to use the latest abilities of wikitext:
Note that using certain characters in tiddler titles will still prevent some features from being used correctly. For example, two vertical bar characters are used in the double curly braces transclusion syntax to separate the tiddler title from the template title: {{title||template}}. However, although it would be impossible to transclude a tiddler called title||template using that syntax, one could still transclude it using <$transclude tiddler="title||template"/>.
New and improved translations:
~ allowing if-then-else logic within filters – see Filter Expression!! or ##position:fixed top menu bar – see Hidden Setting: Scroll Top Adjustment<select> element colouring\import Pragma as a more concise alternative to using the ImportVariablesWidget directly$tw.utils.parseStringArray() to optionally allow non-unique entries@Jermolene would like to thank the contributors to this release who have generously given their time to help improve TiddlyWiki:
Exhaustiva y recomendada serie de tutoriales para empezar a moverte cómodamente con TiddlyWiki. https://www.youtube.com/playlist?list=PLzZCajspPU_UjFn0uy-J9URz0LP4zhxRK
Estos tutoriales están pensados para darte las nociones básicas que te permitan empezar de inmediato a usar TiddlyWiki. Echamos una rápida mirada a la tecnología detrás de TiddlyWiki y a cómo instalarlo y crear tu primer Tiddler.
A tiddlywiki.files JSON file in a sub-folder within a TiddlyWiki folder overrides the usual logic for recursively scanning the folder for tiddler files. Instead, the tiddlywiki.files file specifies instructions for loading tiddlers from specific files and folders.
The format of the file is an object with two optional properties:
Note that significant enhancements to tiddlywiki.files processing were introduced in Release 5.1.14.
Both the tiddlers and directories sections of tiddlywiki.files files include the ability to override or customise the values of fields with a fields object.
Each field can be specified as either a string or array value to be assigned directly to the field, or New in: 5.1.14 an object describing how to generate the value for the field. The object contains the following properties:
The file specifications in the tiddlers array support the following properties:
tiddlywiki.files file)true, the file will be treated as a tiddler file and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the text field without any parsingtext fieldNote that providing a prefix here is equivalent to setting the
textfield of the fields object to{"prefix":"<prefixvalue>"}.
Directory specifications in the directories array may take the following forms:
tiddlywiki.files file). The directory is recursively searched for tiddler filestiddlywiki.files file). Note that the directory is not recursively searched; sub-directories are ignoredtrue, the file will be treated as a tiddler file and deserialised to extract the tiddlers. Otherwise, the raw content of the file is assigned to the text field without any parsingFields can be overridden for particular files by creating a file with the same name plus the suffix .meta – see TiddlerFiles.
These example tiddlywiki.files must be placed in their own sub-directory of the wiki folder.
There are also several examples of tiddlywiki.files files in the main TiddlyWiki 5 GitHub repository.
This example retrieves all the files with the extension .pdf from a folder specified by a relative path. Each tiddler is set up for LazyLoading with the following fields:
application/pdf$:/tags/AttachedFile{
"directories": [
{
"path": "../../../input/pdfs",
"filesRegExp": "^.*\\.pdf$",
"isTiddlerFile": false,
"fields": {
"title": {"source": "basename-uri-decoded"},
"created": {"source": "created"},
"modified": {"source": "modified"},
"type": "application/pdf",
"tags": ["$:/tags/AttachedFile"],
"text": "",
"_canonical_uri": {"source": "filename", "prefix": "pdfs/"}
}
}
]
}TiddlyWikiFolders are configured with a single tiddlywiki.info file in the root of the wiki folder. It should contain a JSON object comprising the following properties:
The entries in the includeWikis array can be either a string specifying the relative path to the wiki, or an object with the following fields:
Note that the build targets of included wikis are merged if a target of that name isn't defined in the current tiddlywiki.info file.
Configuration options include:
For example:
{
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem"
],
"includeWikis": [
{"path": "../tw5.com", "read-only": true}
],
"build": {
"index": [
"--rendertiddler","$:/core/save/all","index.html","text/plain"],
"favicon": [
"--savetiddler","$:/favicon.ico","favicon.ico",
"--savetiddler","$:/green_favicon.ico","static/favicon.ico"]
},
"config": {
"retain-original-tiddler-path": true
}
}TiddlyWiki5 can be used to build older 2.x.x versions of TiddlyWikiClassic from their constituent components. Doing so involves these features:
tiddlywiki/classictools plugin, containing a deserializer module which allows tiddlers to be loaded from TiddlyWiki 2.x.x .recipe filesstripcomments format for the ViewWidget, which strips single line JavaScript comments starting //#stripTitlePrefix='yes' attribute of the FieldsWidget, which removes prefixes wrapped in curly braces from the title attribute{tiddler}HelloThere would be transformed to HelloThereTiddlyWikiClassic is built from the command line by running TiddlyWiki on Node.js. A typical usage would be:
node ../../tiddlywiki.js \
--verbose \
--load <path_to_recipe_file> \
--rendertiddler $:/core/templates/tiddlywiki2.template.html <path_to_write_index_file> text/plain \
|| exit 1TiddlyWiki5 es la nueva reencarnación de TiddlyWiki para los próximos 25 años. Es un wiki completamente interactivo, escrito en JavaScript, que puedes ejecutar localmente en el navegador o en un servidor, mediante Node.js.
Each release of TiddlyWiki5 is identified by a version number that complies with the Semantic Versioning 2.0.0 standard.
According to the standard:
Given a version number MAJOR.MINOR.PATCH, increment the:
MAJOR version when you make incompatible API changes,
MINOR version when you add functionality in a backwards-compatible manner, and
PATCH version when you make backwards-compatible bug fixes.
Additional labels for pre-release and build metadata are available as extensions to the MAJOR.MINOR.PATCH format.While in alpha TiddlyWiki5 uses the pre-release label "alpha", for example:
5.0.1-alphaEach new alpha or beta release will bump the PATCH version number. This breaks the strict semantics of versioning because PATCH increments are supposed to be reserved for compatible changes.
Note that prior to 5.0.1-alpha, TiddlyWiki5 used version numbers formatted as 5.0.0-alpha.19. The change was made to enable the upgrade mechanism to recognise plugin updates from the version information.
During development when a new release is being prepared, the pre-release label is set to prerelease.
Version numbers
TiddlyWiki5 uses the version information attached to plugins for determining which of two plugins is more recent during an upgrade or import. The pre-release label is ignored when performing these comparisons.
"TiddlyWiki Classic" se refiere a las versiones de TiddlyWiki anteriores a la 5.0, cuando se decidió reescribir TiddlyWiki por completo y empezando de cero.
TiddlyWiki Classic recibe aún mantenimiento y está disponible en:
https://classic.tiddlywiki.com/
Mario Pietsch ha publicado una página que compara la sintaxis y otras diferencias entre la versión Classic y la actual:
Node.js soporta, además de wikis de archivo único, wikis estructurados en carpetas que llamamos WikiFolders. Dichas carpetas contienen, lógicamente, tiddlers y las distinguimos según el tipo de tiddlers que contengan.
Los WikiFolders contienen los siguientes archivos y carpetas:
tiddlywiki.info - Archivo .JSON que contiene metadatos necesarios para construir el wiki\tiddlers - Carpeta que contiene los tiddlers que forman parte del contenido del wiki\plugins - Carpeta que contiene los diferentes plugins folders que se incluyen en el wikiSólo el archivo tiddlywiki.info es obligatoriamente necesario. Todas las demás carpetas son opcionales.
Este archivo contiene un objeto JSON que consta de los siguientes campos:
plugins - nombres de los plugins que se incluyen en el wikithemes - nombres de los temas que se incluyen en el wikilanguages - nombres de los idiomas que se incluyen en el wikiincludeWikis - referencias a carpetas externas que se incluyen en el wikibuild - hashmap de targets de compilación, definidos como símbolos de comandos. (ver BuildCommand para más información)config - hashmap opcional de opciones de configuraciónLos valores de includeWikis pueden ser bien una cadena con la ruta relativa al wiki, o un objeto con los siguientes campos:
path - ruta relativa al WikiFolderread-only - con el valor true, previene la modificación de los tiddlers del wiki que se incluye. Toda modificación que se haga en estos se guardará en el directorio definido como default-tiddler-location, que se describe más abajoLos tiddlers objeto de este comando cuyo origen no se defina en el archivo tiddlywiki.info se combinarán con los del wiki actual.
Las opciones de configuración incluyen:
$:/config/OriginalTiddlerPaths, que contiene la ruta original de cada tiddler contenido en el wiki. {
"plugins": [
"tiddlywiki/tiddlyweb",
"tiddlywiki/filesystem"
],
"includeWikis": [
"../tw5.com"
],
"build": {
"index": [
"--rendertiddler","$:/core/save/all","index.html","text/plain"],
"favicon": [
"--savetiddler","$:/favicon.ico","favicon.ico",
"--savetiddler","$:/green_favicon.ico","static/favicon.ico"]
},
"config": {
"retain-original-tiddler-path": true
}
}Toddos los archivos .tid de la carpeta tiddlers se leen cuando se genera el wiki. Las subcarpetas se escanean recursivamente en busca de cualquier otro archivo .tid durante el proceso.
Los tiddlers nuevos se guardan en la raíz de la carpeta tiddlers, salvo que se configure de otro modo.
Las subcarpetas de tiddlers también pueden contener un archivo JSON que puentee el proceso por defecto para esa carpeta. En este ejemplo se ilustra el formato de este tipo de archivos:
{
"tiddlers": [
{
"file": "d3.min.js",
"fields": {
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/d3/d3.js",
"module-type": "library"
},
"prefix": "var d3;if($tw.browser){\n",
"suffix": "}\nexports.d3 = d3;\n"
},
{
"file": "cloud/d3.layout.cloud.js",
"fields": {
"type": "application/javascript",
"title": "$:/plugins/tiddlywiki/d3/d3.layout.cloud.js",
"module-type": "library"
}
},
{
"file": "local/mytiddler.tid",
"isTiddlerFile": true,
"fields": {
"title": "A different title"
}
}
],
"directories": [
"../../mytiddlers/store"
]
}Un elemento JSON es un objeto con la propiedad tiddlers, que a su vez contiene una matriz de información sobre cada tiddler que se carga en el wiki. Esta información es:
file: nombre del archivo que contiene el tiddlerisTiddlerFile: si su valor es true, se extraen los tiddlers de su contenido. En caso contrario, se asigna el contenido en bruto del archivo al campo text, sin interpretación alguna. fields: objet que contiene campos que puentean los proporcionados por el archivoprefix & suffix: (opcional) especifica cadenas usadas como prefijo o sufijo del del contenido de un tiddlerLa propiedad directories permite definir una lista de directorios de los que se cargarán recursivamente los tiddlers
The timeline macro returns a list of tiddlers in reverse chronological order of modification (or some other date field), grouped by day.
DDth MMM YYYYtag[MyTag]modifiedThe tiddlers are selected by means of a filter expression, into which the subfilter and limit parameters are spliced as follows:
[!is[system]$subfilter$has[$dateField$]!sort[$dateField$]limit[$limit$]eachday[$dateField$]]
<<timeline format:"DD/MM/YYYY">>
<<timeline limit:30 subfilter:"tag[Definitions]" format:"DD/MM/YYYY">>
The Tinka plugin provides the ability to create and modify plugins in the browser, without requiring the use of Node.js.
See https://github.com/TinkaPlugin/Tinka for the GitHub repo.
https://tinkaplugin.github.io/
This is a Control Panel extension that aims to simplify the plugin creation and editing process. After installing, you will find a new tab in your control panel that makes creating and modifying plugins a little bit easier.
Una lista es una línea de texto que presenta el título de uno o más tiddlers como una cadena de títulos separados por espacios.
Si un título contiene espacios, se enuncia con corchetes dobles:
EnMarcha [[Descubre TiddlyWiki]] Actualizaciones
La función de creación de listas se usa en varios lugares, incluyendo PermaLinks y el campo lista
Son, de hecho, la forma más simple de filtro y una de las maneras que hay de presentar una selección de títulos.
| purpose | select a single title |
|---|---|
| input | ignored |
! input | a selection of titles |
| parameter | T = a tiddler title |
| output | a selection containing only T |
! output | the input, but with tiddler T filtered out if it exists in the wiki |
[title[An Example]] can be shortened to [[An Example]], because title is the default filter operator.
title is a constructor (except in the form !title), but field:title is a modifier.
[title[HelloThere]]
[[HelloThere]]
HelloThere
[title[HelloThere]] [title[Filter Operators]]
[[HelloThere]] [[Filter Operators]]
HelloThere [[Filter Operators]]
[tag[Filters]] +[!title[Filter Operators]]
[tag[Filters]] +[![Filter Operators]]
[tag[Filters]] -[[Filter Operators]]
The TranscludeWidget dynamically imports content from another tiddler.
| Attribute | Description |
|---|---|
| tiddler | The title of the tiddler to transclude (defaults to the current tiddler) |
| field | The field name of the current tiddler (defaults to "text"; if present takes precedence over the index attribute) |
| index | The index of a property in a DataTiddler |
| subtiddler | Optional SubTiddler title when the target tiddler is a plugin (see below) |
| mode | Override the default parsing mode for the transcluded text to "block" or "inline" |
The TranscludeWidget treats any contained content as a fallback if the target of the transclusion is not defined (ie a missing tiddler or a missing field).
TiddlyWiki parses text in two modes:
Usually, the mode is determined by whether the transclude widget itself has been parsed in block or inline mode. This can be overridden with the mode attribute.
For example, consider tiddler "A" with this content:
# Item one
#<$transclude tiddler="B"/>
# Item twoAnd a tiddler "B" with this content:
# Item one - a
# Item one - bThe result will be something like this:
This can be fixed by amending tiddler "A":
# Item one
#<$transclude tiddler="B" mode="block"/>
# Item twoThe transclude widget allows access to the individual tiddlers stored within a plugin.
The following example will transclude the core version of the tiddler $:/DefaultTiddlers even if it has been overridden:
Transclusion is the process of referencing one tiddler "A" from another tiddler "B" such that the content of "A" appears to be a part of "B".
Copying and pasting content creates multiple copies of the same content in several different places. With transclusion, there can be a single copy and a special instruction in "B" which indicates the point at which content should be inserted from tiddler "A".
Note that if the content of "A" is modified then the modification automatically appears in "B". This makes it easier to maintain repetitive content, by allowing every piece to be written in a single place, but viewed from many.
The concept of transclusion plays an important role in the Philosophy of Tiddlers because it is the primary way in which small items of content are combined.
To learn more:
The power of WikiText comes from the ability to use the content of one tiddler inside another one. This ability takes several different forms that can easily be confused.
The main distinction is between a transclusion and a textual substitution:
Transclusion in WikiText describes the basics of transclusion. For example:
{{MyTiddler}}As described in HTML in WikiText, you can also transclude tiddler field values as attributes of HTML elements and widgets. For example:
<$text text={{MyTiddler}}/>As described in Introduction to filter notation, you can also transclude tiddler field values as filter operands. For example:
{{{ [tag{TiddlerContainingMyTag}] }}}Variables that were defined with parameter or variable substitution are referred to as "macros". The value of a variable/macro can be transcluded with the syntax:
<<myMacro param:"Value of parameter">>As described in HTML in WikiText, you can also transclude a variable as the value of an attribute of HTML elements and widgets. For example:
<$text text=<<myMacro>>/>As described in Introduction to filter notation, you can also transclude a variable as the value of a filter operand. For example:
{{{ [tag<myMacro>] }}}Textual substitution occurs when the value of a macro/variable is used. It is described in Macros in WikiText.
The key difference between substitution and transclusion is that substitution occurs before WikiText parsing. This means that you can use substitution to build WikiText constructions. Transclusions are processed independently, and cannot be combined with adjacent text to define WikiText constructions.
To include some content from TiddlerA into TiddlerB, edit the latter to include the following text:
This is the content of TiddlerA: {{TiddlerA}}The result is that the content of the text field (i.e. the main content) of TiddlerA is rendered within TiddlerB.
The notation {{TiddlerA}} is a shortcut for {{TiddlerA!!text}}. This is because the default field for transclusion is text, but any other field can be used explicitly. For example, you can print the last time TiddlerA was modified using:
TiddlerA was modified on {{TiddlerA!!modified}}By omitting the tiddler title, the transclusion notation can also be used to display the content of a field from the current tiddler, for example:
The current tiddler was modified on {{!!modified}}Notice that using {{!!text}} or {{}} causes an error (Recursive transclusion error in transclude widget), because it does not make sense to include the content of the current tiddler into the content of the current tiddler (that is, into itself). Whenever you encouter this error message, it means that you are trying to include something into itself, directly or indirectly (for example if tiddler A transcludes tiddler B which transcludes tiddler C which, in turn, transcludes tiddler A).
In TiddlyWiki, transclusions are not limited to including raw content like the above. To learn about more advanced uses of transclusion, see Transclusion with Templates.
See also:
You can incorporate the content of one tiddler within another using the Transclusion notation:
{{MyTiddler}} transcludes a single tiddler{{MyTiddler||TemplateTitle}} displays the tiddler through a specified TemplateTiddler{{||TemplateTitle}} displays the specified template tiddler without altering the current tiddlerYou can also use a TextReference instead of a tiddler title:
{{MyTiddler!!field}} transcludes a specified field of a tiddler{{!!field}} transcludes a specified field of the current tiddler{{MyTiddler##index}} transcludes a specified indexed property of a DataTiddler{{##index}} transcludes a specified indexed property of the current DataTiddlerA similar syntax can be used to transclude a list of tiddlers matching a specified filter:
{{{ [tag[mechanism]] }}}
{{{ [tag[mechanism]] ||TemplateTitle}}}The WikiText transclusion syntax generates a TiddlerWidget wrapped around a TranscludeWidget. For example, {{MyTiddler||MyTemplate!!myField}} generates the following pair of widgets:
<$tiddler tiddler="MyTiddler">
<$transclude tiddler="MyTemplate" field="myField"/>
</$tiddler>See also:
The transclusion variable is set by the $transclude widget to a string that identifies the position of that widget within the widget tree.
TiddlyWiki's core uses it to detect recursive transclusion. It is also used to implement the qualify macro.
The string has the following syntax:
Many of the five items are often blank.
In the sidebar, the value of transclusion is:
{|$:/core/ui/PageTemplate/sidebar|||}
When the tiddler HelloThere is displayed in the story river, transclusion is set to:
{HelloThere|HelloThere|||}
This example shows how to distinguish between the sidebar and other environments:
We are
<$list
filter="[<transclusion>prefix[{|$:/core/ui/PageTemplate/sidebar|||}]]"
emptyMessage="in the story river.">
in the sidebar.
</$list>
In the sidebar, this would show We are in the sidebar instead.
In Transclusion Basic Usage we have seen how to include the content of a tiddler A into a tiddler B. Now suppose that tiddler A contains:
@@background-color:yellow;
Hello, my title is {{!!title}}
@@This makes tiddler A display its title with a yellow background (see Styles and Classes in WikiText to learn about CSS style). Imagine that you want to display the title in the same way in tiddler B. But you don't want to copy/paste the style instructions, because you might want to change the background colour later and you want to keep it consistent among tiddlers. This looks like a typical case of transclusion, so let's try to transclude tiddler A in tiddler B the usual way with {{A}}. You should see the following content in tiddler B:
Hello, my title is A
The style is applied as expected, but the title is wrong: we want {{!!title}} to refer to the target tiddler B, and not the source tiddler A.
The solution is to use a template. In this case, the source tiddler A is called the TemplateTiddler, and it is applied to tiddler B using the notation {{||A}}. The difference is that any TextReference which does not refer explicitly to a specific tiddler is applied to the current tiddler, that is, the target tiddler. As a result, tiddler B now looks as expected:
Hello, my title is B
Transcluding via a template is like applying a mask: assuming that the source tiddler contains generic references (like eye holes in a mask), these will be replaced with the target tiddlers values (like the eyes of the person who wears the mask).
A template can be applied to any tiddler, not necessarily the current one. This is achieved using the full notation {{<target>||<template>}}. The default <target> is the current tiddler (this is what we used in the above example).
You can apply the system template $:/core/ui/TagTemplate to a tag in order to see it as a tag pill with a drop-down menu:
{{Transclusion||$:/core/ui/TagTemplate}}is rendered as
See also:
There is a special edition of TiddlyWiki that simplifies creating and maintaining translations:
Note that no knowledge of Node.js or GitHub is required.
You can translate TiddlyWiki on Node.js, type tiddlywiki editions/translators --listen and visit http://127.0.0.1:8080/ in your browser.
See https://tiddlywiki.com/dev for technical details of creating and maintaining translations.
The translation mechanism of TiddlyWiki manages and switches between language plugins that provide translations of the TiddlyWiki user interface. The developer site at https://tiddlywiki.com/dev/ explains how translators can create and submit translations for TiddlyWiki.
The title of the current language plugin is read from the tiddler $:/language. If the selected plugin changes then any displayed translateable text automatically changes.
Translation plugins are bundles of tiddlers that each contain an indepedent translatable string. The strings are transcluded as needed.
Translatable strings are generally in the namespace $:/language/, for example:
A personal website built with TiddlyWiki.
TriTarget.org is a name I came up with in high school. I was big into computer programming and wanted a company name that was kinda catchy. When I made a few programs in BASIC I would brand them with TriTarget as a way to show off my company (Even though I didn't have one).
Páginas con tutoriales y consejos relacionados con TiddlyWiki.
Envía más tutoriales que encuentres para ampliar esta lista via GitHub o Twitter, o publícalas en el grupo
A Spanish guide to using TiddlyWiki on Android.
http://3palmeras.wordpress.com/2014/11/05/microblogging-con-tiddlywiki/
Tiddlywiki software is prodigious based on javascript which is capable of holding a notepad that can be edited with Internet Explorer or function as a full blog, contained in a single file.
Translation by Google Translate
A guide (in French) to using TiddlyWiki on the BiblioBox, a variation of the PirateBox mobile communication and file sharing system.
http://bibliobox.net/blog/post/2014/07/16/un-wiki-sur-votre-bibliobox-avec-tiddlywiki
I've known TiddlyWiki since its beginning in 2004. For personal or professional needs, I used it regularly for notepad staff in 2007 and 2012. But I admit I ignored the tool during the past two years. And then I said yesterday: but why not put TiddlyWiki on a BiblioBox? Because it is a single HTML file with javascript. In addition I knew the existence of a server version for saving online amendments.
Hand optimised from a translation by Google Translate
Stephan Hradek's growing catalogue of tips, tutorials, and other resources. Stephan has also developed several plugins and macros that you can find at http://tiddlystuff.tiddlyspot.com/.
http://tw5magick.tiddlyspot.com/
Some things in TiddlyWiki seem like Magic. As my preferred nick is Skeeve, I felt that TW5 Magick is a proper name for this collection of some of the "magic" tricks one can do with TiddlyWiki.
Tips and guides for using TiddlyWiki.
http://techlifeweb.com/tw5tribalknowledge.html
I never used Node.js until a couple weeks ago when I wanted to try a TW5 installation on Node and expand my knowledge a bit. I figured someone else may be in the same boat so I wrote it all down
A step by step guide to running TiddlyWiki on a CentOS Virtual Private Server.
http://www.rosehosting.com/blog/install-and-run-tiddlywiki-on-a-centoos-6-vps-using-nginx/
In this tutorial we will guide you through the steps of installing and running TiddlyWiki on a CentOS 6 VPS.
We will also install and configure Nginx as a reverse proxy, so you can run TiddlyWiki behind Nginx.
A guide to creating a baby journal with TiddlyWiki.
http://a-penguin-in-redmond.blogspot.co.uk/2014/02/creating-baby-journal-with-tiddlywiki-5.html
Keeping a journal about your baby is fun. It allows you to keep track of those events in your baby's life and development that are most important to you, and to tell them in your own words. [...]
There are plenty of online services that can help to keep such a diary, but you need to have an internet connection to access them, and you have to trust them to keep your data safe.
An introduction to TiddlyWiki in Japanese.
A gamers guide to using TiddlyWiki.
http://helugame.wordpress.com/2013/09/07/shining-ark-7-using-tiddlywiki/
I’ve been using TiddlyWiki for this game mainly to record the monsters’ locations and the items that they drop. This is so that when I need a certain item to upgrade/create weapons, I can quickly look it up; which monsters drop it and which quests have those monsters.
As I play the game, as I encounter new information, I just input them into my Shining Ark TiddlyWiki. It’s like I’m building a wiki from scratch. The reason why I don’t just use online wikis is that 1) it’s too easy to get spoiled and 2) sometimes online wikis provide too much information (who cares about the non-gameplay related descriptions that can be found in the game, etc).
The tv-adjust-heading-level variable allows the level of headings to be adjusted. It is interpreted as a positive or negative number (e.g. "2" or "-3") that is added to the heading level for display.
Note that if the resulting heading level is less than 1 then level 1 is used instead. This means that specfiying a large negative adjustment factor will reset all headings to display as level 1. Similarly, heading levels larger than 6 are clamped to the maximum HTML heading level of 6.
! This is a Level 1 Heading
This is a paragraph.
<$vars tv-adjust-heading-level="-2">
{{Sample Headings 3,4,5}}
</$vars>
!! This is a Level 2 heading
<$vars tv-adjust-heading-level="-1">
{{Sample Headings 4,5,6}}
</$vars>
!!! This is written as a Level 3 heading
!!!! This is written as a Level 4 heading
!!!!! This is written as a Level 5 heading
!!!! This is written as a Level 4 heading
!!!!! This is written as a Level 5 heading
!!!!!! This is written as a Level 6 heading
<$transclude tiddler="Sample Headings 1,2,3" mode="block"/>
La variable tv-auto-open-on-import controla si el mensaje tm-import-tiddlers abre en el StoryRiver el tiddler $:/Import (que muestra la lista de tiddlers pendientes de importación).
Por defecto, el tiddler se abre, pero si la variable tiene valor no, no lo hace.
Un ejemplo de ajuste de esta variable con valor no puede verse en el plugin de actualización en el asistente de actualización de TiddlyWiki, donde el usuario arrastra los archivos que quiera actualizar pero en pantalla no se muestra la importación del modo habitual.
The tv-config-toolbar-icons variable controls whether toolbar buttons display icons.
It can be set to yes or no prior to transcluding such a button.
The standard page template sets it to the value found in $:/config/Toolbar/Icons, with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the Configuración tab of the Control Panel.
See also tv-config-toolbar-text.
The tv-config-toolbar-text variable controls whether toolbar buttons display text.
It can be set to yes or no prior to transcluding such a button.
The standard page template sets it to the value found in $:/config/Toolbar/Text, with the result that this becomes the default for the whole page. The user can adjust this default by using a tickbox on the Configuración tab of the Control Panel.
See also tv-config-toolbar-icons.
New in: 5.1.15 The tv-filter-export-link variable controls the value of the href attribute on the HTML a element generated by the $link widget. If defined, it takes precedence over the tv-wikilink-template Variable.
The variable is treated as a filter that is given the target tiddler title as input. The filter is evaluated and the first result is used as the href attribute.
For example:
\define tv-filter-export-link() [encodeuricomponent[]encodeuricomponent[]addsuffix[.html]]See also the tv-get-export-link variable, which dominates over this one.
The tv-get-export-image-link variable controls the value of the src attribute on the HTML img element generated by the $image widget when the value of its source attribute is not the title of a tiddler.
The variable should be a macro with the following parameter:
source attribute – equivalent to the image name specified in the shorthand syntax [img[source]]The ability to override image URIs in this way can be useful when one is using the Node.js configuration to export a static version of a wiki.
This example fetches the TiddlyWiki icon:
\define tv-get-export-image-link(src) https://www.tiddlywiki.com/$src$
[img[favicon.ico]]
The tv-get-export-link variable controls the value of the href attribute on the HTML a element generated by the $link widget.
The variable should be a macro with the following parameter:
See also tv-wikilink-template. If both that variable and this one exist, this one dominates.
The tv-get-export-path variable specifies the full pathname to which the rendertiddlers Node.js command writes each tiddler.
The variable should be implemented as a JavaScript macro with the following parameter:
If no such macro exists, the tiddlers are written to files whose names are percent-encoded, in the command's output folder.
The tv-history-list variable is assigned by the NavigatorWidget to contain the title of the tiddler containing the current history list.
Compare tv-story-list.
The tv-show-missing-links variable defines if missing links within the scope of the variable are rendered as links or not.
Globally, the variable is set within the PageTemplate and can be changed in the $:/ControlPanel under Settings - Show missing links to tiddlers
If tv-show-missing-links is set to no, missing links are rendered as plain text
If tv-show-missing-links is set to yes, missing links are rendered as wiki-links
The tv-story-list variable is assigned by the NavigatorWidget to contain the title of the tiddler containing the current story list.
Compare tv-history-list.
The tv-tiddler-preview variable indicates whether content is being rendered in a tiddler preview panel.
The value is yes within the preview panel, and undefined elsewhere.
The tv-wikilink-template variable controls the value of the href attribute on the HTML a element generated by the $link widget. The tv-filter-export-link, if defined, it takes precedence over the tv-wikilink-template variable.
The variable is treated as if it was a macro with the following parameters:
uri_encoded parameter but percent-encoded again, i.e. with its % characters further converted to %25
\define tv-wikilink-template() ../tiddlers/$uri_encoded$.html
The variable defaults to #$uri_encoded$.
See also the tv-get-export-link variable, which dominates over this one.
This example shows a way of giving links a tooltip derived from the target tiddler's caption field:
\define tv-wikilink-tooltip()
<$transclude field="tooltip">(<$transclude field="caption"/>)</$transclude>
\end
Here is a link to [[backlinks Operator]] with a custom tooltip.
Here is a standard link for comparison.
The tv-wikilinks variable controls the behaviour of the $link widget.
The widget normally produces a link to a tiddler. But if this variable has the value no, the widget suppresses the link and simply displays the text that would otherwise have served as the link.
You can suppress links for a whole tiddler by placing the following line at the start of the tiddler's text:
\define tv-wikilinks() no
This variable has no effect on external links, as those do not involve the $link widget.
HelloThere,
[[HelloThere]],
<$link to="HelloThere">is //this// a link?</$link>
<$set name="tv-wikilinks" value="no">
HelloThere,
[[HelloThere]],
<$link to="HelloThere">is //this// a link?</$link>
</$set>
Este es un plugin experimental que añade la funcionalidad de mostrar WikiText escrito para la primera versión "Classic" de TiddlyWiki.
Está disponible en: https://tiddlywiki.com/plugins/tiddlywiki/tw2parser/
TiddlyWiki5 Packaged with the multi-user plugin in a single executable file.
https://github.com/OokTech/TW5-SingleExecutable
Tiddlywiki, node js, multiuser plugin - all packaged into a single file so user can just download the file and run it and not have to install anything else. Versions available for windows, osx, and linux.
A collection of hints and tips, musings and proposals from long-time TiddlyWiki contributor Mat Goldman.
http://twaddle.tiddlyspot.com/
This is Mat's, a.k.a <:-) little man-cave in the TiddlyVerse.
Most TW development is, understandably, based on the premise that "Improve code ➔ Better TW". TWaddle is also about developing TW but from the perspective that Bigger community ⇄ Better TW. Thus, TWaddle looks more to people issues - how to attract them, how to make them stick with TW etc.
I'm not a programmer but I am a TW enthusiast so I tiddlefiddle enough to make the occasional discovery of something cool. Given the amount of words I utter, it is also a mere numbers game before I say something that makes sense. TWaddle is intended to capture these eventualities.
The CommunitySearch wiki aggregates many public wikis from the community. It is updated automatically every day. At the time of writing, more than 5000 tiddlers are indexed, thus giving access to the largest known collection of TW content.
It lets you search for some specific content among a preselected list of wikis. The indexed content is mostly focused on TW usage, so you would typically use this search system to find information about a particular aspect of TiddlyWiki. Say for example that you want to learn how to make a table of content, type "table of content" in the CommunitySearch box (also accessible in the default tiddler GettingStarted). The search results are links to various wikis, and point directly to the specific tiddlers containing your request.
The CommunitySearch wiki also lets you:
This plugin adds a <$twitter> widget that can embed a variety of entities from twitter.com:
An authentication proxy for your TiddlyWiki.
https://github.com/stevenleeg/twproxy
One of my favorite aspects of TiddlyWiki has been that it's web-based, making it possible for me to access my wiki from everywhere (especially my phone). That being said, I'm a bit paranoid, so I was left a bit unsatisfied with the tiddlywiki server's HTTP basic auth for protecting my wiki. ~23 commits later, I've created something called twproxy that I'd like to share with you all today, as I'm hoping somebody other than myself will find it useful.
Essentially it is a simple proxy that puts your wiki behind a username, password, and optional 2-factor auth prompt. This gives you added security in addition to the ability to remember your credentials past one browsing session (I was getting sick and tired of typing my username/password in over and over using basic auth).
WikiText can include blocks of text that are rendered with an explicit ContentType like this:
$$$image/svg+xml
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="green" />
</svg>
$$$This renders as:
It is also possible to abbreviate the ContentType to a file extension. For example:
$$$.svg
<svg xmlns="http://www.w3.org/2000/svg" width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>
$$$This renders as:
Unknown types render as plain text:
$$$text/unknown
Some plain text, which will not be //formatted//.
$$$Which renders as:
Some plain text, which will not be //formatted//.A render type can also be specified, causing a particular text rendering to be displayed. For example:
$$$text/vnd.tiddlywiki>text/html
This is ''some'' wikitext
$$$
$$$text/vnd.tiddlywiki>text/plain
This is ''some'' wikitext
$$$Renders as:
<p>This is <strong>some</strong> wikitext</p>
This is some wikitext
Se recomienda el uso de las macros de documentación para facilitar las futuras tareas de mantenimiento del texto frente a nuevos cambios y actualizaciones.
Se recomienda precaución en el uso arbitrario de estilos directos de formato (negrita, cursiva ...etc). Si se puede usar una macro, conviene usarla. Si no existe la macro adecuada, se puede crear o, si no se sabe cómo, pedir su creación en el Grupo de Google.
Por el mismo motivo, se aconseja el uso de acentos graves `...` para transcribir fragmentos de código y WikiText, pero no para nombres de cosas tales como campos, operadores, variables o widgets. Estas tienen su macro correspondiente.
Para mantener cierto orden y evitar colisiones de código al usar distintos sistemas operativos:
' "..., en lugar de con "puntos suspensivos" ….-- –que TiddlyWiki interpreta como guión corto o "en-dash"–.Extrae los tiddlers de un plugin y los presenta como tiddlers ordinarios
--unpackplugin <title>| purpose | discard any input titles that have tags |
|---|---|
| input | a selection of titles |
| parameter | none |
| output | those input tiddlers that have no tags |
! output | those input tiddlers that have at least one tag |
A tiddler is deemed to have no tags if it:
tags fieldtags field$:/UpgradeLibrary that contains the latest compatible versions of all plugins in the library$:/Import that is typed as a "pending import"Se publican con regularidad nuevas versiones de TiddlyWiki que incorporan correcciones de "bugs" y mejoras. Es buena idea mantenerse al día actualizándolo a la última versión.
Este procedimiento funcionará en la mayoría de navegadores. Ni uno solo de tus datos personales saldrá de tu ordenador durante todo el proceso.
Guarda los cambios de la nueva versión #* Los tiddlers que NO se actualizarán aparecen desmarcados y una nota en la columna status te dice el motivo. Si todo te parece bien...
El navegador te pedirá que descargues un archivo llamado "upgrade.thml". Este archivo es la versión actualizada de tu archivo. Localízalo en tu disco duro, cambia el nombre por el de tu wiki y sustituye en su localización el viejo archivo por el nuevo.
Puedes descargar el Upgrader a tu disco duro y realizar el proceso anterior de arrastra-y-suelta para actualizar tu archivo localmente, sin necesidad de conexión de red.
Se han dado casos del siguiente error al intentar actualizar en Firefox:
Error while saving:
Error:NS_ERROR_DOM_BAD_URI: Access to restricted URI denied
Es posible –y se han dado casos de ello– que customizaciones de versiones anteriores de ~Tiddlywiki dejen de funcionar después actualizar el núcleo a la última versión.
Hay dos maneras maneras en que puedes diagnosticar y solucionar los problemas que se presenten:
Si has instalado TiddlyWiki en Node.js de la forma habitual, puedes actualizarlo a la última versión con este comando:
npm update -g tiddlywikiEn Mac o Linux necesitas añadir "sudo":
sudo npm update -g tiddlywikiA URI (also often known as a URL) is a string of characters used to specify the location of a resource such as a web page.
By default, when running TiddlyWiki on Node.js, the server exposes the wiki at the URI formed from the protocol, host and port - for example, http://127.0.0.1:8080/.
There are two steps to running the wiki at a custom path like http://127.0.0.1:8080/path/to/my/wiki/:
/path/to/my/wiki as the pathprefix argument of the ServerCommand$:/config/tiddlyweb/host that contains $protocol$//$host$/path/to/my/wiki/By default, TiddlyWiki's WebServer serves resources over the insecure HTTP protocol. The risk is minimal if it is only being used within a private, trusted network but in many situations it is desirable to use a secure HTTPS connection.
HTTPS requires the server to be configured with a certificate via a "cert" file and a "key" file, configured via the tls-cert and tls-key parameters
Certificates can be obtained from a certification authority such as https://letsencrypt.org/, or you can create a self-signed certificate for internal testing.
To create the required certificate files with the popular openssl utility:
openssl req -newkey rsa:2048 -new -nodes -keyout mywikifolder/key.pem -out mywikifolder/csr.pem
openssl x509 -req -days 365 -in mywikifolder/csr.pem -signkey mywikifolder/key.pem -out mywikifolder/server.crt
tiddlywiki mywikifolder --listen username=joe password=bloggs tlskey=key.pem tlscert=server.crtPara moverte de un tiddler a otro puedes usar enlaces (generalmente de color azul). Pinchar cualquier enlace te llevará automáticamente al tiddler en cuestión. Si está cerrado, lo abrirá. Lo fabuloso de TiddlyWiki es que hace los enlaces a tiddlers tan accesibles como sea posible. ¡Hay enlaces por todos lados! Estos son los lugares clave donde puedes encontrar enlaces a otros tiddlers en TiddlyWiki:
list del tiddler actual. list {{{[tag[Contents]]}}} en un tiddler, nos mostrará la lista de tiddlers que llevan la etiqueta Contents. El primer paso para cambiar la apariencia de TiddlyWiki es elegir y aplicar uno de los temas disponibles o modificar la paleta de colores.
Además, pueden definirse hojas de estilos CSS mediante la etiqueta $:/Stylesheet. Intenta crear una hoja de estilos con el siguiente contenido para cambiar el actual color de fondo a rojo:
html body.tc-body {
background: red;
}Las hojas personales de estilos se aplican independientemente de los estilos definidos por el tema. Por ello, a menudo es necesario que las reglas CSS de tu hoja de estilos sean más específicas que las del tema que quieres puentear. Por ejemplo, html body.tc-body es más específco que body.tc-body.
Normalmente es mejor definir como el valor text/css. Así te aseguras de que TiddlyWiki entienda el contenido como hoja de estilos en texto plano y no aplique reglas de WikiText en su interpretación.
Si necesitas usar macros y transclusiones en tu hoja de estilos, tendrás que usar el type por defecto text/vnd.tiddlywiki, permitiendo así el proceso de WikiText. Ahí va un ejemplo:
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html
body.tc-body pre {
<<box-shadow "inset 0 1px 0 #fff">>
}La directiva \rules al inicio restringe la aplicación de reglas WikiText a exclusivamente macros y transclusiones, lo que impide que accidentalmente se active cualquier otro proceso indeseado.
Un tiddler de estilos se procesa de tal manera que primero se procesa como WikiText y, entonces, el resultado se aplica como CSS. Por lo tanto, se ignora todo tag HTML usado en los estilos. Así, por ejemplo, aquellos elementos HTML generados por RevealWidget no afectarán en absoluto al resultado. Por ese motivo pueden envolverse las reglas CSS en tags <pre> para mostrarlos como bloques de código, sin que afecten al proceso.
\rules only filteredtranscludeinline transcludeinline macrodef macrocallinline html
<pre>body.tc-body pre {
<<box-shadow "inset 0 1px 0 #fff">>
}
</pre>El núcleo de TiddlyWiki proporciona una serie de macros globales, útiles para la construcción de hojas de estilos.
TiddlyWiki5 allows you to use SVG to display vector graphics in two ways:
image/svg+xml are interpreted as SVG images, and displayed and transcluded as self-contained <img> elements with the SVG embedded as a data URI in the src attribute.You can embed an SVG image tiddler using the ordinary transclusion syntax:
{{Motovun Jack.jpg}}You can also use Typed Blocks in WikiText to embed an inline SVG tiddler.
The implications of the image being rendered within an <img> element are that it is sandboxed; it can't use CSS styles from the parent document, for example. Neither can the image use WikiText features like transclusion.
The other way to use SVG is to embed the <svg> element directly. For example:
Note that inline SVG elements don't need an <?xml version="1.0"?> directive.
You can include simple text strings in SVG images using the <text> element:
HTML or WikiText content can be included within inline SVG images using the <foreignObject> element. For example:
When embedding SVG elements you can also use WikiText features like transclusion. For example, here is an SVG circle with the radius set to the value in the tiddler $:/SVGExampleRadius:
You can edit the value of the radius here:
Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.
Este es el código:
\define textOnPath(text)
$$$.svg
<svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
<defs>
<path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
</defs>
<use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
<text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
<textPath xlink:href="#MyPath">
$text$
</textPath>
</text>
</svg>
$$$
\endSetting the root-tiddler parameter to $:/core/save/all-external-js switches to a special template that externalises TiddlyWiki's core JavaScript into a separate file. For example:
tiddlywiki editions/tw5.com-server/ --listen host=0.0.0.0 "root-tiddler=$:/core/save/all-external-js"TiddlyWiki in the single file configuration ordinarily packs everything into a single file: your data, and the JavaScript, CSS and HTML comprising TiddlyWiki itself. This lack of dependencies is usually very convenient: it means that it is impossible for the parts of a TiddlyWiki to become separated, and enormously improves the changes of it still functioning in the future.
However, there is some inefficiency in this arrangement because the core code is repeatedly loaded and saved every time the content of the wiki is saved. This inefficiency is partially ameliorated when working in the client server configuration because once the wiki is loaded by the browser the synchronisation process only transmits individual tiddlers back and forth to the server.
The remaining inefficiency when working in the client server configuration is that the single page wiki that is initially loaded will contain a copy of the entire core code of TiddlyWiki, making it impossible for the browser to cache it.
Any files in the subfolder files of the wiki folder will be available via the route \files\<uri-encoded-filename>. For example: http://127.0.0.1:8080/files/Motovun%20Jack.jpg
This can be useful for publishing large files that you don't want to incorporate into the main wiki (PDFs, videos, large images, etc.).
Static files can be referenced directly:
[ext[./files/a-big-document.pdf]] - to make a link to a PDF[img[./files/a-big-image.png]] - to embed an imageAlternatively, the _canonical_uri field can be used to reference the files as external tiddlers.
TiddlyWiki's experimental single tiddler per page, read-only view uses a simplified page layout, and implements links between tiddlers, but there are no other interactive features. Compared to a full TiddlyWiki user interface, it is very lightweight and usable even over very slow connections.
Alongside serving the full interactive wiki at the path / (e.g. http://127.0.0.1:8080/), TiddlyWiki serves each tiddler at the path /<url-encoded-tiddler-title>. For example:
Ordinary, non-system tiddlers are rendered through a special view template while system tiddlers are rendered through a template that returns the raw text of the rendered output. In this way ordinary tiddlers can be browsed by end users while system tiddlers can be included in their raw form to use them as JS, HTML or CSS templates. Additionally these defaults can be overwritten on a per tiddler basis by specifying the _render_type and _render_template fields accordingly.
The templates are controlled by these parameters:
TiddlyWiki5 can be used to produce documentation for GitHub projects. It lets you maintain a single set of documentation as a TiddlyWikiFolder containing separate tiddler files under source code control, and then use it to produce readme.md files for inclusion in project folders, or HTML files for storage in GitHub Pages. Both features are demonstrated by TiddlyWiki5 itself.
readme.md filesWhen displaying the contents of a folder GitHub will look for a readme.md file and display it. Note that it will not display full HTML files in this way, just static MarkDown files (this is a security measure). Happily MarkDown permits a safe subset of HTML, and thus to generate a readme.md file that is suitable for GitHub it is just necessary for TiddlyWiki5 to generate the content of the <body> element of an HTML document, and give it the appropriate filename.
This is done with this command:
--rendertiddler ReadMe ./readme.md text/htmlIt saves the tiddler ReadMe to the file ./readme.md in the text/html format.
By default, tiddler links will be rendered as <a> links to a relative URI consisting of the title of the tiddler. This behaviour can be overridden by defining the macro tv-wikilink-template, as is done at the top of the tiddler ReadMe:
\define tv-wikilink-template() https://tiddlywiki.com/static/$uri_doubleencoded$.htmlSee the LinkWidget for more details.
In this example, tiddler links are rendered as links to the static rendering of tw5.com.
TiddlyWiki se puede usar desde la línea de comandos para ejecutar una larga lista de operaciones basadas en carpetas, tiddlers y archivos HTML de ~Tiddlywiki.
Por ejemplo, el siguiente comando carga tiddlers de un archivo HTML de TiddlyWIki y guarda uno de ellos (ReadMe) como HTML estático (readme.html):
tiddlywiki --verbose --load mi_wiki.html --rendertiddler ReadMe ./readme.htmlEjecutar TiddlyWiki desde la línea de comandos pone en marcha el núcleo, carga los plugins y establece un "almacén" de tiddlers en blanco. A partir de entonces procesa los argumentos de la línea de comandos de izquierda a derecha. Los argumentos se separan con espacios.
El primer argumento es la ruta opcional al WikiFolder que se va a cargar. Si no se especifica, se usa el directorio actual.
Le siguen uno o varios comandos con sus respectivos argumentos. Los comandos se identifican con el prefijo --.
tiddlywiki [<ruta>] [--<comando> [<argumento>[,<argumento>]]]Los comandos disponibles son:
~Tiddlywiki permite el uso de imágenes SVG de dos maneras:
image/svg+xml se interpretan como imágenes SVG, es decir que se muestran como elementos <img> con el SVG incrustado en el atributo src.Se pueden incrustar SVG's mediante transclusión
{{Motovun Jack.jpg}}La otra forma de usar un SVG es incrustándolo directamente.
Al incrustar un SVG en el texto como elemento <img>, este permanece en un entorno restringido y contenido. No puede, por ejemplo, usar los estilos CSS del documento padre, por ejemplo, ni se puede hacer una transclusión aislada del SVG.
También puede incluirse el <svg> directamente.
Este es el código...
<svg width="150" height="100">
<circle cx="100" cy="50" r="40" stroke="black" stroke-width="2" fill="red" />
</svg>...y este el resultado:
Para hacerlo, no necesitamos la directiva <?xml version="1.0"?>.
Se pueden incluir sencillas cadenas de texto en un SVG mediante el elemento <text>
Este es el código...
<svg width="300px" height="30px" viewBox="0 0 1000 300"><text x="250" y="150" font-family="Verdana" font-size="200">Hello, out there</text><rect x="1" y="1" width="998" height="298" fill="none" stroke-width="2" /></svg>...y este el resultado
Se puede incluir HTML o WikiText dentro de imágenes SVG incrustadas en el texto mediante el elemento <foreignObject>. Por ejemplo:
<svg width="260px" height="260px"><circle cx="150" cy="150" r="100" fill="blue" stoke="red"/><foreignObject x="70" y="110" width="150" height="180"><body>Esto es un poco de texto que incluye un [[enlace a otro tiddler|HelloThere]].</body></foreignObject></svg>Al definiri elementos SVG podemos jugar con algunos de sus parámetros mediante transclusión. Como ejemplo, veamos el caso de este círculo SVG que podemos modificar mediante transclusión del valor de su radio desde el tiddler $:/SVGExampleRadius:
Este es el código...
<svg width="150" height="150"><circle cx="75" cy="75" r={{$:/SVGExampleRadius}} stroke="black" stroke-width="2" fill="green"/></svg>...y este el resultado:
Podemos variar el radio del círculo (como podríamos variar cualquier otro parámetro con la misma técnica) editando el siguiente valor, alojado en otro tiddler:
Este ejemplo muestra cómo usar SVG para mostrar transclusiones de texto a lo largo de un recorrido. Escribe algo en el cuadro de texto para probarlo.
Este es el código:
\define textOnPath(text)
$$$.svg
<svg width="100%" height="100%" viewBox="0 0 1000 300" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" style="background:white;">
<defs>
<path id="MyPath" d="M 100 200 C 200 100 300 0 400 100 C 500 200 600 300 700 200 C 800 100 900 100 900 100"/>
</defs>
<use xlink:href="#MyPath" fill="none" stroke="#ddd"/>
<text font-family="'Helvetica Neue', Helvetica, Arial, 'Lucida Grande', sans-serif" font-size="42.5">
<textPath xlink:href="#MyPath">
$text$
</textPath>
</text>
</svg>
$$$
\endA variable is a snippet of text that can be accessed by name within a particular branch of the widget tree. The snippet is known as the variable's value.
A new variable is defined using a $set widget, and is then available to any of the children of that widget, including transcluded content. A $set widget can reuse an existing name, thus binding a different snippet to that name for the duration of the widget's children.
The $list widget also sets a particular variable (currentTiddler by default) to each listed title in turn.
For an overview of how to use variables, see Variables in WikiText.
Despite the term "variable", each snippet is a constant string. The apparent variability is actually the result of the presence of multiple variables with the same name in different parts of the widget tree.
Macros are a special form of variable whose value can contain placeholders that get filled in with parameters whenever the macro is used.
By themselves, the snippets are not parsed as WikiText. However, a variable reference will transclude a snippet into a context where WikiText parsing may be occurring. Within a snippet, the only markup detected is $name$ for a macro parameter transclusion and $(name)$ for a variable transclusion.
The dumpvariables macro lists all variables (including macros) that are available at that position in the widget tree.
TiddlyWiki's core has several variables built in.
See also the introduction to the concept of variables.
To transclude the value of a variable, use the macro call syntax with no parameters. You can also use a $macrocall widget.
A macro snippet can contain $(name)$ as a placeholder for which the value of the variable of that name will be substituted.
A variable's value can be used as a filter parameter, or as a widget attribute. The latter supports macro parameters.
<$set name=animal value=zebra>
<<animal>>
</$set>
The \define pragma below defines a macro called tags-of-current-tiddler. The macro returns the value of the tiddler's tags field, and can be accessed from anywhere else in the same tiddler (or in any tiddler that imports it).
\define tags-of-current-tiddler() {{!!tags}}
The tags are: <<tags-of-current-tiddler>>
This example uses the backlinks operator to list all tiddlers that link to this one.
<<list-links filter:"[<currentTiddler>backlinks[]]">>
The vars widget allows multiple variables to be set in one operation. In some situations it can result in simpler code than using the more flexible SetWidget.
The content of the <$vars> widget is the scope for the value assigned to the variable.
| Attribute | Description |
|---|---|
| {attributes not starting with $} | Each attribute name specifies a variable name. The attribute value is assigned to the variable |
Consider a case where you need to set multiple variables.
Using the <$vars> widget, this situation may be handled in the following way:
\define helloworld() Hello world!
<$vars greeting="Hi" me={{!!title}} sentence=<<helloworld>>>
<<greeting>>! I am <<me>> and I say: <<sentence>>
</$vars>In contrast, here is the same example using the <$set> widget:
<$set name="greeting" value="Hi" >
<$set name="me" value={{!!title}} >
<$set name="sentence" value=<<helloworld>> >
<<greeting>>! I am <<me>> and I say: <<sentence>>
</$set>
</$set>
</$set>It should be noted that this widget differs from the set widget in the following ways:
Están disponibles los siguientes videos sobre TiddlyWiki:
La finalidad es mantener una serie de videos que sirvan de guía para la puesta en marcha de TiddlyWiki. Toda contribución es bienvenida.
The view widget displays the contents of a tiddler field in a specified format.
The content of the <$view> widget is displayed if the field or property is missing or empty.
| Attribute | Description |
|---|---|
| tiddler | The title of the tiddler (defaults to the current tiddler) |
| field | The name of the field to view (defaults to "text") |
| index | The name of the index to view |
| format | The format for displaying the field (see below) |
| template | Optional template string used when the format attribute is set to "date" |
| subtiddler | Optional SubTiddler title when the target tiddler is a plugin (see below) |
| mode | New in: 5.1.15 Optional transclusion parsing mode for wikified formats. May be "inline" or "block" (the default) |
The following formats can be specified in the format attribute:
| Format | Description |
|---|---|
| text | Plain text |
| htmlencoded | The field is displayed with HTML encoding |
| urlencoded | The field is displayed with URL encoding |
| doubleurlencoded | The field is displayed with double URL encoding |
| htmlwikified | The field is wikified according to the mode attribute and the resulting HTML returned as plain text (ie HTML elements will appear in plain text) |
| plainwikified | The field is wikified according to the mode attribute and the text content of the resulting HTML returned as plain text (ie HTML elements will be removed) |
| htmlencodedplainwikified | The field is wikified according to the mode attribute and the text content of the resulting HTML returned as HTML encoded plain text (ie HTML elements will be removed) |
| date | The field is interpreted as a UTC date and displayed according to the DateFormat specified in the template attribute |
| relativedate | The field is interpreted as a UTC date and displayed as the interval from the present instant |
| stripcomments | The field is interpreted as JavaScript source code and any lines beginning \\# are stripped |
| jsencoded | The field is displayed as a JavaScript encoded string |
The view widget allows access to the individual tiddlers stored within a plugin.
The following example will view the core version of the tiddler $:/DefaultTiddlers even if it has been overridden:
<$view tiddler="$:/core" subtiddler="$:/DefaultTiddlers"/>
Este es su aspecto:
GettingStartedAn interactive timeline visualisation plugin based on Vis.js. A demo can be found here: http://kixam.github.io/TW5-visjsTimeline/.
vis.js Timeline is a TiddlyWiki plugin that allows you to link your wiki-topics (tiddlers) in order to create clickable timelines. This project is a direct continuation of emkay's plugin.
When running under Node.js, TiddlyWiki includes a simple HTTP/HTTPS web server that allows you to use it from any browser running on the same machine or over a network.
The web server listens for requests coming over the network, and performs the following actions in turn:
The web server is started with the ListenCommand (which supersedes the older ServerCommand). All the NamedCommandParameters are optional, so the simplest form is:
tiddlywiki mywikifolder --listenVisit http://127.0.0.1:8080/ to access the wiki. Access is anonymous, so anyone can read or write to the wiki.
This will typically be available only to users on the local machine. For information on how to open the instance to the local network see the Web Server host parameter entry.
Adding username and password parameters enforces basic authentication for both reading and writing:
tiddlywiki mywikifolder --listen username=test password=tsetVisiting the wiki will prompt for a username and password, and access is denied if they do not match the provided credentials.
This example adds the authorization parameters readers and writers to grant read access to anonymous users, but require authentication as "joe" in order to gain write access.
Note that anonymous users can trigger a username/password prompt by visiting the route
\login-basic(eg http://127.0.0.1:8080/login-basic).
tiddlywiki mywikifolder --listen "readers=(anon)" writers=joe username=joe password=bloggsNote the double quotes that are required for parameters containing special characters.
The full list of available optional parameters is:
Further information on usage of the integrated WebServer:
The TiddlyWiki WebServer API supports the following routes:
Delete a tiddler
DELETE /bags/default/tiddlers/{title}Parameters:
Response:
Forces the server to request basic authentication login, and then redirects to the root
GET /login-basicRequests an basic authentication from the browser, and redirects to the root if successful.
Parameters:
Response:
Location: /
WWW-Authenticate: Basic realm="Please provide your username and password to login to <servername>"
Gets an array of all raw tiddlers, excluding the text field.
GET /recipes/default/tiddlers.jsonParameters:
Response:
Content-Type: application/jsonBody: array of tiddlers in TiddlyWeb JSON tiddler format
Get the favicon for the wiki from the tiddler $:/favicon.ico
GET /favicon.icoParameters:
Response:
Content-Type: image/x-iconBody: image data from the tiddler $:/favicon.ico
Get the content of a static file. See using the integrated static file server
GET /files/<pathname>Parameters:
Response:
Content-Type: <content-type>(determined from file extension)Body: data retrieved from file
Gets a rendering of the specified tiddler. See using the read-only single tiddler view for more details.
GET /{title}Parameters:
Response:
Content-Type: <content-type>Body: tiddler rendering
Get server status information
GET /statusParameters:
Response:
Content-Type: application/jsonBody: see below
The JSON data returned comprises the following properties:
{recipe: "default"}For example:
{
"username": "",
"anonymous": true,
"read_only": false,
"space": {
"recipe": "default"
},
"tiddlywiki_version": "5.1.18"
}Gets the raw fields of a tiddler
GET /recipes/default/tiddlers/{title}Parameters:
Response:
Content-Type: application/jsonBody: tiddler in TiddlyWeb JSON tiddler format
Get the main wiki
GET /The wiki is composed by rendering the tiddler identified in the root-tiddler parameter with the render type in the root-render-type parameter. This is then served with the content type from the root-serve-type parameter.
Parameters:
Response:
Content-Type: text/htmlBody: data retrieved from file
Saves the raw fields of a tiddler
PUT /recipes/default/tiddlers/{title}The body should be in TiddlyWeb JSON tiddler format.
Parameters:
Response:
Content-Type: text/plain
Etag: "default/<title>/<changecount>:"
Authentication is the process of identifying the current user. TiddlyWiki supports three types of authentication:
Authorization is the process of determining which resources may be accessed by a particular user. It occurs after authentication has determined the identity of the user. TiddlyWiki's WebServer implements a simple authorization scheme which permits independent control of who has read and write access to a wiki.
The WebServer parameters readers and writers each contain a comma separated list of principals (which is to say, either usernames or certain special tokens) which should have read or write access respectively.
The available special tokens are:
Read-only mode is engaged when the current user is not authorized to write to the current wiki.
User interface features concerned with creating or editing content are disabled in read-only mode:
The tiddler $:/status/IsReadOnly is set to yes when read-only mode is engaged.
These example use the credentials parameter to specify the location of a file containing usernames and passwords.
In the first example, read access is permitted for the users "joe" and "mary", with write access restricted to "mary":
tiddlywiki mywikifolder --listen credentials=myusers.csv readers=joe,mary writers=maryIn the following example, read access is granted to all authenticated users, but only "mary" is granted write access:
tiddlywiki mywikifolder --listen credentials=myusers.csv "readers=(authenticated)" writers=maryBasic authentication is a standard mechanism for servers to instruct browsers to prompt the user for credentials. It is recommended to use it in association with HTTPS due to the way that it passes unencrypted passwords over the network.
Basic authentication is activated if credentials are specified via the username/password or credentials parameters.
If WebServer Authorization is configured to allow access by both anonymous and authenticated users then by default users will not be prompted for credentials, and will be given anonymous access. To force a password prompt visit the route /login-basic (for example, http://127.0.0.1:8080/login-basic).
Header authentication is a web integration technique enabling external entities to securely pass details of the authenticated user to an application. It is commonly used for "single sign on" in corporate environments.
Header authentication is activated if is configured via the authenticated-user-header
The web server configuration parameter anon-username provides an optional username for signing edits from anonymous users.
Without this parameter, anonymous users will be given a blank username.
The web server configuration parameter authenticated-user-header activates header authentication by specifying the name of the HTTP header that will be used to pass the username to TiddlyWiki.
The web server configuration parameter credentials contains the pathname of a CSV file containing a list of username/password combinations. Using the credentials parameter activates WebServer Basic Authentication.
The CSV file must contain a header row and columns labelled username and password. For example:
username,password
jane,do3
andy,sm1th
roger,m00reNotes:
The web server configuration parameter csrf-disable causes the usual cross-site request forgery checks to be disabled. This might be necessary in unusual or experimental configurations.
The only currently implemented check is the use of a custom header called x-requested-with that must contain the string TiddlyWiki in order for write requests to succeed.
The web server configuration parameter debug-level determines the level of debugging information printed to the console:
The web server configuration parameter host is the IP address on which the server listens. The most common settings are:
Note: Using 0.0.0.0 or n.n.n.n in a public environment (e.g. coffee shop, library, airport) is inadvisable as it will expose your system to possible intrusion.
The web server configuration parameter password, is used with its companion password as a shortcut for setting user credentials for WebServer Basic Authentication.
The web server configuration parameter path-prefix can be used to set an optional prefix for all paths served.
This example causes the server to serve from http://127.0.0.1/MyApp instead of the default http://127.0.0.1/MyApp.
tiddlywiki mywikifolder --listen "path-prefix=/MyApp"The web server configuration parameter port specifies the TCP port on which the server will listen for connections. The default value is 8080.
The port parameter accepts two types of value:
This example configures the server to listen on port 8090:
tiddlywiki mywikifolder --listen port:8090This example configures the server to listen on the port specified in the environment variable THE_PORT:
tiddlywiki mywikifolder --listen port:THE_PORTThe web server configuration parameter readers is used to specify the security principals with read access to the wiki. See WebServer Authorization for more details.
The web server configuration parameter root-render-type determines the way that the root wiki tiddler is rendered:
text/plain (default) – the plain text content of the output is rendered (i.e. HTML elements are ignored)text/html – the full HTML content of the output is rendered (i.e. including HTML elements)The web server configuration parameter root-serve-type determines the content type with which the root wiki tiddler is rendered. The default is text/html.
The web server configuration parameter root-tiddler determines the title of the tiddler that is rendered as the root wiki. The default setting is $:/core/save/all.
The web server configuration parameter system-tiddler-render-template is used to specify the template for serving system tiddlers in the read-only single tiddler view. The default value is $:/core/templates/wikified-tiddler which renders the tiddler raw, without any special viewing template.
The web server configuration parameter system-tiddler-render-type is used to specify the render type for serving system tiddlers in the read-only single tiddler view. The default value is text/plain, causing the raw text of rendered system tiddlers to be returned. Alternatively, text/html can be used to cause the full HTML of the rendered tiddlers to be returned.
The web server configuration parameter tiddler-render-template is used to specify the template for serving ordinary, non-system tiddlers in the read-only single tiddler view. The default value is $:/core/templates/server/static.tiddler.html which renders tiddlers in a lightweight page with a simple sidebar.
The web server configuration parameter tiddler-render-type is used to specify the render type for serving ordinary, non-system tiddlers in the read-only single tiddler view. The default value is text/html, causing the full HTML of the rendered output to be returned. Alternatively, text/html can be used to cause the raw text of rendered system tiddlers to be returned.
The optional web server configuration parameter tls-cert contains the pathname to the certificate file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.
See Using HTTPS for details.
The optional web server configuration parameter tls-key contains the pathname to the key file required when running the web server under HTTPS. The pathname is taken relative to the wiki folder.
See Using HTTPS for details.
The web server configuration parameter username, in conjunction with its companion password:
Serve anonymous users, setting the username to "joe":
tiddlywik mywikifolder --listen anon-username=joeRestrict access to the user "joe" with a password of "secret":
tiddlywik mywikifolder --listen username=joe password=secretThe web server configuration parameter writers is used to specify the security principals with write access to the wiki. See WebServer Authorization for more details.
La versión original de TiddlyWiki, que llamamos Classic, sigue disponible en:
https://classic.tiddlywiki.com.
Ten en cuenta que la versión actual de TiddlyWiki no es totalmente compatible con la versión Classic. Se pueden importar contenidos, pero necesitan algo de masaje para adaptarse al nuevo formato de escritura, WikiText.
Actualmente está en desarrollo un plugin: tw2parser, intérprete que permita reproducir fielmente y sin mayor complicación los contenidos creados por TiddlyWikiClassic.
A cross platform server application that can save tiddlers to a local database
https://github.com/opennota/widdly
a minimal self-hosted app, written in Go, that can serve as a backend for a personal TiddlyWiki.
El mensaje tm-add-field define un determinado campo y lo añade con valor en blanco, si dicho campo no existe.
| Nombre | Descripción |
|---|---|
| param | Nombre del campo |
Este mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.
EL mensaje tm-add-tag añade la etiqueta que se especifique.
| Name | Description |
|---|---|
| param | Nombre de la etiqueta |
Este mensaje lo genera normalmente ButtonWidget y lo procesa FieldManglerWidget.
El mensaje tm-auto-save-wiki realiza, siempre que sea necesario, el guardado en segundo plano de TiddlyWiki.
El mensaje autosave wiki se genera siempre que se producen cambios en el TiddlerStore. Por ejemplo: tm-save-tiddler, tm-delete-tiddler y tm-perform-import guardan, borran y añaden tiddlers respectivamente, lo que tiene como resultado que, al ser procesados, NavigatorWidget genere el mensaje auto-save-widget.
Lo procesa SyncMechanism en el núcleo de TiddlyWiki, invocando el SaverModule actual. No todos los SaverModules tienen capacidad para hacerlo.
El mensaje tm-browser-refresh recarga la página, causando el reinicio de todos los plugins. No necesita ninguna propiedad del objeto event.
Este mensaje se genera con el ButtonWidget y se procesa en el núcleo.
El mensaje tm-clear-passwordborra la contraseña actual del depósito de claves y cambia el valor de $:/isEncrypted. Consulta EncryptionMechanism para más información.
Este mensaje lo genera normalmente ButtonWidget y lo procesa el propio núcleo.
The "copy to clipboard" message attempts to copy the specified text to the clipboard. If it succeeds, the tiddler $:/language/Notifications/CopiedToClipboard/Succeeded is displayed as a notification. If the browser doesn't permit the operation, the tiddler $:/language/Notifications/CopiedToClipboard/Failed is displayed instead.
It requires the following properties on the event object:
| Name | Description |
|---|---|
| param | Text to be copied to the clipboard |
This message is usually generated with the ButtonWidget. It is handled by the TiddlyWiki core.
This example copies the current time to the clipboard:
<$button message="tm-copy-to-clipboard" param=<<now>>>
Copy date to clipboard
</$button>Este es su aspecto:
El mensaje tm-download-file hace que el SaverModule actual indique al usuario que descargue como archivo el resultado de la interpretación de un determinado tiddler.
Requiere las siguientes propiedades del objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler usado como plantilla del nuevo tiddler |
| paramObject | HashMap opcional de valores de variable que se usará para la conversión |
Este mensaje lo genera normalmente ButtonWidget y lo procesa SyncMechanism en el núcleo de TiddlyWiki, que invoca el SaverModule actual.
A tm-edit-bitmap-operation invokes one of the available operations on a surrounding bitmap editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the event object are required:
| Name | Description |
|---|---|
| param | Name of the operation to be executed, see below for a list of possible operations |
| paramObject | Hashmap of additional parameters required by the operation top be executed |
The tm-edit-bitmap-operation message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding bitmap editor.
At this point the following bitmap operations have been implemented:
| Name | Description | ||||||
|---|---|---|---|---|---|---|---|
| resize | Resizes the image to the specified width and height. Parameters include:
| ||||||
| clear | Clears the contents of the image and fills it with a solid colour. Parameters include:
|
An example can be seen in $:/core/ui/EditorToolbar/size-dropdown:
<$button>
<$action-sendmessage
$message="tm-edit-bitmap-operation"
$param="resize"
width={{$config-title$/new-width}}
height={{$config-title$/new-height}}
/>
...
Resize
</$button>A tm-edit-text-operation invokes one of the available operations on a surrounding text editor. Therefore the message has to be dispatched within the editor in order for it to catch it. The following properties on the event object are required:
| Name | Description |
|---|---|
| param | Name of the operation to be executed, see below for a list of possible operations |
| paramObject | Hashmap of additional parameters required by the operation top be executed |
The tm-edit-text-operation message is usually generated by a ButtonWidget or an ActionWidget and is handled by the surrounding text editor.
At this point the following text operations have been implemented:
| Name | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| excise | Excises the currently selected text into a new tiddler and replaces it with a link, a macro or a transclude of the new tiddler. Parameters include:
| ||||||||||
| replace-all | Replaces all contents of the editor with the provided text.
| ||||||||||
| replace-selection | Replaces the current selection with the provided text.
| ||||||||||
| prefix-lines | Prefixes the currently selected line(s) with the provided character. If a line is already prefixed by the provided prefix, the prefix is removed instead.
Example Setting character=" | ||||||||||
| wrap-lines | Surrounds the selected lines with the provided
| ||||||||||
| wrap-selection | Surrounds the current selection with the provided
| ||||||||||
| save-selection | Saves the text of the current selection into the provided
|
An example can be seen in $:/core/ui/EditorToolbar/bold:
<$action-sendmessage
$message="tm-edit-text-operation"
$param="wrap-selection"
prefix="''"
suffix="''"
/>The tm-fold-all-tiddlers message folds all tiddlers in the current story list. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.
| Name | Description |
|---|---|
| foldedStatePrefix | Prefix for the state tiddler in which the fold state is stored. |
The tm-fold-all-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
The tm-fold-other-tiddlers message folds all tiddlers in the current story list, except the one specified in the param parameter. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.
| Name | Description |
|---|---|
| param | Title of the tiddler that should be ignored by the fold operation. |
| foldedStatePrefix | Prefix for the state tiddler in which the fold state is stored. |
The tm-fold-other-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
The tm-fold-tiddler message folds the tiddler specified in the param parameter. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.
| Name | Description |
|---|---|
| param | Title of the tiddler that should be folded. If the tiddler is already folded, it will be unfolded instead. |
| foldedStatePrefix | Prefix for the state tiddler in which the fold state is stored. If no state prefix is provided, tm-fold-tiddler will do nothing. |
The tm-fold-tiddler message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
El mensaje tm-full-screen alterna el modo de vista en pantalla completa, si el navegador lo permite.
Este mensaje lo procesa el núcleo de TiddlyWiki.
El mensaje tm-home cierra cualquier tiddler que se haya abierto y abre los tiddlers por defecto definidos en $:/DefaultTiddlers.
También elimina cualquier permalink de la barra de dirección del navegador
No requiere propiedad alguna del objeto event.
Este mensaje normalmente lo genera ButtonWidget y lo procesa el núcleo de TiddlyWiki.
The tm-load-plugin-from-library message load the specified tiddler or plugin from the specified plugin library.
| Name | Description |
|---|---|
| title | Title of the tiddler or plugin to be loaded into the current wiki |
| url | Url specifying the plugin library from which the tiddler or plugin is to be loaded. |
The following snippet will install the CodeMirror plugin from the official plugin library:
<$button>
<$action-sendmessage $message="tm-load-plugin-from-library" title="$:/plugins/tiddlywiki/codemirror" url="https://tiddlywiki.com/library/v5.1.11/index.html"/>
Install CodeMirror
</$button>The tm-load-plugin-from-library message is usually generated with the ButtonWidget and is handled by the core itself.
The tm-load-plugin-library message loads the specified plugin library and imports information about the contained plugins in temporary tiddlers.
| Name | Description |
|---|---|
| url | Url specifying the plugin library to be loaded. |
| infoTitlePrefix | Prefix to the temporary tiddlers being created, containing information about the plugins the plugin library offers. Defaults to $:/temp/RemoteAssetInfo/ |
The following snippet will load the official plugin library:
<$button>
<$action-sendmessage $message="tm-load-plugin-library" infoTitlePrefix="$:/temp/RemoteAssetInfo/" url="https://tiddlywiki.com/library/v5.1.11/index.html"/>
Load official plugin library
</$button>The tm-load-plugin-library message is usually generated with the ButtonWidget and is handled by the core itself.
El mensaje tm-login pide al usuario que introduzca un nombre de usuario y contraseña e intenta iniciar sesión en el servidor. El tiddler $:/status/IsLoggedIn informa del actual estado de inicio de sesión con los valores "yes" o "no" y $:/status/UserName indica el nombre de usuario actual.
Este mensaje lo procesa SyncMechanism en el núcleo de TiddlyWiki invocando el SyncAdaptorModule actual, (generalmente, el plugin tiddlywiki/tiddlywebadaptor).
El mensaje tm-logout desconecta al usuario de su sesión actual en el servidor.
El tiddler $:/status/IsLoggedIn indica el estado actual de inicio de sesión con los valores "yes" o "no" y $:/status/UserName indica el nombre de usuario actual
Este mensaje lo procesa SyncMechanism en el núcleo de TiddlyWiki invocando el SyncAdaptorModule actual, (generalmente, el plugin tiddlywiki/tiddlywebadaptor).
El mensaje tm-modal muestra determinado tiddler sobre una ventana modal que atenúa la página principal. Requiere de las siguientes propiedades en el objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler que se quiere mostrar |
| paramObject | HashMap de variables que se le suministra al modal |
La variable current tiddler se asigna al tiddler modal, pero puede anularse especificando un valor diferente en paramObject.
Este mensaje se genera normalmente con ButtonWidget y lo procesa el núcleo de TiddlyWiki.
Este es un ejemplo de modal y de cómo se le pasan parámetros:
Escribe tu nombre: <$edit-text tiddler="$:/temp/yourName" tag="input" default="Nombre"/>
Escribe tu mensaje:
<$edit-text tiddler="$:/temp/yourMessage" default="Mensaje"/>
<$button>
<$action-sendmessage $message="tm-modal" $param="SampleModal" yourName={{$:/temp/yourName}} yourMessage={{$:/temp/yourMessage}}/>
¡Haz clic!
</$button>Este es su aspecto:
Escribe tu nombre:
Escribe tu mensaje:
El mensaje tm-navigate inserta el tiddler que se indica en la StoryList y lo coloca al inicio de la HistoryList. Si el tiddler no está ya en la StoryList, se colocará inmediatamente después del que se especifique en event.navigateFromTitle.
Este mensaje precisa de las siguientes propiedades del objeto event:
| Nombre | Descripción |
|---|---|
| navigateTo | Título del tiddler al que se navega |
| navigateFromTitle | Título del tiddler desde el que se inicia la navegación |
| navigateFromClientRect | Coordenadas en la página cliente del cuadro del elemento que inicia la navegación |
| navigateSuppressNavigation | true hace que el nuevo tiddler se añada a la StoryList, sin sumarse a la HistoryList. Esto suprime el desplazamiento asociado con la navegación a un tiddler |
Este mensaje pueden generarlo LinkWidget, ActionNavigateWidget y ButtonWidget, pero lo procesa NavigatorWidget.
El mensaje tm-notify muestra un tiddler determinado como una pequeña alerta en la esquina superior derecha de la página. Requiere las siguientes propiedades del objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler que se mostrará |
Este mensaje lo procesa el núcleo de TiddlyWiki
New in: 5.1.14
The tm-open-external-window message opens an external link eg: "http://tiddlywiki.com" in a new browser window. If no parameters are specified, it opens the help tiddler. Any additional parameters passed via the paramObject are being provided as variables to the new window.
| Name | Description |
|---|---|
| param | URL of the tiddler to be opened in a new browser window, defaults to the TiddlyWiki help |
| paramObject | Optional: Hashmap of variables that will be provided to the window. see below |
parmObject
| Name | Description | Important |
|---|---|---|
| windowName | If a parameter is provided it can be used to open different links in the same window eg: _tiddlywiki. Default is empty, so every link opens a new window. | The behaviour is influenced by user settings in the browser and the browsers default behavior! |
| windowFeatures | This parameter needs to be provided as a single string. eg: "height=400, width=600". For detailed description about possible parameters see: Mozilla Help |
The tm-open-external-window message is usually generated with the ButtonWidget or ActionSendMessageWidget and is handled by the core itself.
Examples
<$button>
<$action-sendmessage $message="tm-open-external-window" $param="http://tiddlywiki.com" windowName="_tiddlywiki" windowFeatures="height=500, width=900"/>
Open ~TiddlyWiki - Action
</$button>
<$button>
<$action-sendmessage $message="tm-open-external-window" $param="https://developer.mozilla.org/en-US/docs/Web/API/Window/open" windowName="_tiddlywiki" windowFeatures="height=400, width=600"/>
Open Mozilla Help - Action
</$button>
<$button message="tm-open-external-window" param="http://tiddlywiki.com" >
Open ~TiddlyWiki - Button
</$button>Este es su aspecto:
The tm-open-window message opens a tiddler in a new browser window. If no parameters are specified, the current tiddler is opened in a new window. Similiar to tm-modal any additional parameters passed via the paramObject are being provided as variables to the new window.
| Name | Description |
|---|---|
| param | Title of the tiddler to be opened in a new browser window, defaults to currentTiddler if empty |
| template | Template in which the tiddler will be rendered in |
| width | Width of the new browser window |
| height | Height of the new browser window |
| paramObject | Hashmap of variables that will be provided to the window |
The tm-open-window message is usually generated with the ButtonWidget and is handled by the core itself.
El mensaje tm-permalink cambia la dirección de la barra del navegador para formar un permalink: dirección web que lleva hasta un tiddler específico (por defecto, el tiddler actual).
Este mensaje permite las siguientes propiedades del objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler para el permalink |
| tiddlerTitle | El tiddler actual (usado por defecto si no se especifica otro en el param) |
Este mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism
El mensaje tm-permaview cambia la dirección del navegador para formar una permaview: dirección web que especifica qué tiddlers aparecerán abiertos en el StoryRiver y entre estos, cuál se muestra primero en pantalla (por defecto, el tiddler actual).
Este mensaje permite las siguientes propiedades del objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler de la permaview que primero se mostrará en pantalla |
| tiddlerTitle | Tiddler actual (usado por defecto si no se especifica otro en el param) |
Este mensaje puede generarse con el ButtonWidget y lo procesa el mecanismo StoryMechanism
New in: 5.1.14 The tm-print message causes the browser to display the print dialog for the current page. It does not require any properties on the event object.
The print message is usually generated with the ButtonWidget and is handled by the core.
El mensaje tm-remove-field elimina el campo especificado.
| Nombre | Descripción |
|---|---|
| param | Nombre del campo para eliminar |
Este mensaje se genera normalmente con ButtonWidget y lo procesa FieldManglerWidget.
El mensaje tm-remove-tag elimina la etiqueta especificada.
| Name | Description |
|---|---|
| param | Nombre de etiqueta para borrar |
Este mensaje normalmente se genera con ButtonWidget y lo procesa FieldManglerWidget.
El mensaje tm-save-wikihace que el SaverModule actual realice una operación de guardado de todo el wiki. Dicha operación puede requerir intervención del usuario. Precisa de las siguientes propiedades en el objeto event:
| Nombre | Descripción |
|---|---|
| param | Título del tiddler que sirve de plantilla para generar el wiki. (por defecto $:/core/save/all) |
| paramObject | HashMap opcional de valores de variable para usar al generar el wiki |
Este mensaje lo genera habitualmente ButtonWidget.
The save wiki message is usually generated by the ButtonWidget.
El SyncMechanism del núcleo es quien procesa este mensaje invocando el SaverModule actual.
The tm-scroll message causes the surrounding scrollable container to scroll to the specified DOM node into view. The tm-scroll is handled in various places in the core itself, but can also be handled by a ScrollableWidget.
| Name | Description |
|---|---|
| target | Target DOM node the scrollable container should scroll to. |
Due to the nature of the parameter, the tm-scroll can only be generated within javascript code.
El mensaje tm-server-refresh intenta sincronizar con el servidor los últimos cambios del cliente.
El SyncMechanism del núcleo es quien procesa este mensaje invocando el Módulo de sincronización actual, (normalmente, el plugin tiddlywiki/tiddlywebadaptor).
El mensaje tm-set-passwordpide al usuario que establezca una contraseña y la guarda en el depósito, sustituyendo cualquier otra contraseña que se hubiera guardado anteriormente. Como consecuencia, establece también el valor de $:/isEncrypted
Más detalles en EncryptionMechanism.
Este mensaje lo genera habitualmente ButtonWidget y se procesa en el propio núcleo.
The tm-unfold-all-tiddlers message unfolds all tiddlers in the current story list. It does so by setting the text of a state tiddler to either "show" or "hide", according to the fold state.
| Name | Description |
|---|---|
| foldedStatePrefix | Prefix for the state tiddler in which the fold state is stored. |
The tm-unfold-all-tiddlers message is usually generated with the ButtonWidget and is handled by the surrounding NavigatorWidget.
TiddlyWiki's display is driven by an underlying collection of widgets. These are organised into a tree structure: each widget has a parent widget and zero or more child widgets.
TiddlyWiki generates this widget tree by parsing the WikiText of tiddlers. Each component of the WikiText syntax, including even the trivial case of ordinary text, generates a corresponding widget. The widget tree is an intermediate representation that is subsequently rendered into the actual display.
Widgets are analogous to elements in an HTML document. Indeed, HTML tags in WikiText generate dedicated element widgets.
Each class of widget contributes a specific ability to the overall functionality, such as the ability to display an image or a button, to call a macro or transclude text from elsewhere, or to mark a piece of text as a heading.
The more specialised widgets use a general-purpose widget syntax as their only possible WikiText representation.
The following classes of widget are built into the core:
Widgets provide rich functionality within WikiText. They have the same syntax as HTML elements, but the tag name always starts with $. For example:
<$button message="tm-close-tiddler">Close Me!</$button>Note that widgets inherit all the features of HTML in WikiText:
attr=<<myMacro>>)attr={{MyTiddler!!field}})attr={{{ [filter[op]] }}})See HTML in WikiText for more details.
The available widgets include:
The wikify widget parses and renders a string of text and assigns the result to a specified variable. The new value of the variable is available to the content within the wikify widget.
The content of the <$wikify> widget is the scope for the value assigned to the variable.
| Attribute | Description |
|---|---|
| name | The name of the variable to assign |
| text | The text to parse and render |
| type | The ContentType of the text (defaults to text/vnd.tiddlywiki) |
| mode | The parse mode: block (the default) or inline |
| output | Keyword indicating the desired output type, defaulting to text (see below) |
The available output types are:
| Keyword | Description |
|---|---|
| text | Return the plain text of the rendered output (ie HTML tags are omitted) |
| formattedtext | Return the plain text with simple text formatting of the rendered output (ie HTML tags are omitted) |
| html | Return the rendered HTML of the output |
| parsetree | Return a formatted JSON representation of the parse tree |
| widgettree | Return a formatted JSON representation of the widget tree |
WikiText is a concise, expressive way of typing a wide range of text formatting, hypertext and interactive features. It allows you to focus on writing without a complex user interface getting in the way. It is designed to be familiar for users of MarkDown, but with more of a focus on linking and the interactive features.
WikiText can also be inserted to the text field using the Editor toolbar.
See Formatting text in TiddlyWiki for an introduction to WikiText.
The following elements of WikiText syntax are built into the core:
En Windows es posible convertir TiddlyWiki en aplicación local cambiando la extensión .html por .hta (HTML-Application).
Con este cambio se permite que el módulo fsosaver use el FileSystemObject de ActiveX para guardar los cambios.
Hay que tener presente que con este enfoque el archivo TiddlyWiki se guarda codificado en formato UTF-16, que tiene la desventaja de hacerlo el doble de grande que con la codificación habitual en UTF-8. SIn embargo, abrir el archivo y guardarlo por otro medio lo vuelve a codificar como UTF-8.
En la Wikipedia encontrarás más detalles sobre las aplicaciones HTML o HTA:
If you want to contribute to TiddlyWiki's development, rather than installing TiddlyWiki in the usual way, you can work directly with the GitHub repository.
Mario Pietsch has created a short video introduction.
npm link (Windows) or sudo npm link (Mac/Linux) to tell npm to use this copy of the repo as the globally installed oneAfter this procedure you can work with TiddlyWiki5 via npm as though it were installed in the usual way with npm install -g tiddlywiki.
See also Scripts for TiddlyWiki on Node.js.
Información de ayuda para empezar a usar TiddlyWiki:
The XLSX Utilities edition of TiddlyWiki contains tools to work with .XLSX spreadsheets generated by applications like Microsoft Excel and Google Sheets. It can be used in the browser or under Node.js.